Tag Archives: matlab
How can I identify and fill outliers in a 2d matrix?
Hello,
I am wondering if there is a function to identify and fill outliers in a 2d matrix. I know that the filloutliers function does work on a matrix, but it only works on each column separately. I am hoping to look at outliers in both directions.
There is a function fillmissing2 that does exactly this, but for missing values rather than outliers. Does anyone know if there is such a function? Or perhaps a workaround?
Thanks in advance,
SeanHello,
I am wondering if there is a function to identify and fill outliers in a 2d matrix. I know that the filloutliers function does work on a matrix, but it only works on each column separately. I am hoping to look at outliers in both directions.
There is a function fillmissing2 that does exactly this, but for missing values rather than outliers. Does anyone know if there is such a function? Or perhaps a workaround?
Thanks in advance,
Sean Hello,
I am wondering if there is a function to identify and fill outliers in a 2d matrix. I know that the filloutliers function does work on a matrix, but it only works on each column separately. I am hoping to look at outliers in both directions.
There is a function fillmissing2 that does exactly this, but for missing values rather than outliers. Does anyone know if there is such a function? Or perhaps a workaround?
Thanks in advance,
Sean filloutliers, matrix, interpolation MATLAB Answers — New Questions
Invalid Parameter Name: EdgeColor
Hi all,
I’m trying to set the edgecolor parameter to interp for a hist3 plot. But MATLAB keeps giving me an invalid parameter error on edgecolor. It is in the documentation as a valid parameter and as far as I can tell I’m using the latest version of MATLAB: R2024a Update 2. Another strange thing is that even though I get the error message in the Command Window. The figure that is generated does successfully change the edge colors. It seems like MATLAB is doing what I expected but giving an error message for no apparent reason.
I’ve included my implementation and error message for reference.
hist3(X,[250 250],"EdgeColor","interp","CdataMode","auto");
Error using internal.stats.parseArgs (line 43)
Invalid parameter name: EdgeColor.
Error in hist3 (line 278)
[cdatamode,facecolor,~] = internal.stats.parseArgs(plnames,pldflts,plotArgs{:});
Error in Heatmap_test (line 26)
hist3(X,[250 250],"EdgeColor","interp","CdataMode","auto");Hi all,
I’m trying to set the edgecolor parameter to interp for a hist3 plot. But MATLAB keeps giving me an invalid parameter error on edgecolor. It is in the documentation as a valid parameter and as far as I can tell I’m using the latest version of MATLAB: R2024a Update 2. Another strange thing is that even though I get the error message in the Command Window. The figure that is generated does successfully change the edge colors. It seems like MATLAB is doing what I expected but giving an error message for no apparent reason.
I’ve included my implementation and error message for reference.
hist3(X,[250 250],"EdgeColor","interp","CdataMode","auto");
Error using internal.stats.parseArgs (line 43)
Invalid parameter name: EdgeColor.
Error in hist3 (line 278)
[cdatamode,facecolor,~] = internal.stats.parseArgs(plnames,pldflts,plotArgs{:});
Error in Heatmap_test (line 26)
hist3(X,[250 250],"EdgeColor","interp","CdataMode","auto"); Hi all,
I’m trying to set the edgecolor parameter to interp for a hist3 plot. But MATLAB keeps giving me an invalid parameter error on edgecolor. It is in the documentation as a valid parameter and as far as I can tell I’m using the latest version of MATLAB: R2024a Update 2. Another strange thing is that even though I get the error message in the Command Window. The figure that is generated does successfully change the edge colors. It seems like MATLAB is doing what I expected but giving an error message for no apparent reason.
I’ve included my implementation and error message for reference.
hist3(X,[250 250],"EdgeColor","interp","CdataMode","auto");
Error using internal.stats.parseArgs (line 43)
Invalid parameter name: EdgeColor.
Error in hist3 (line 278)
[cdatamode,facecolor,~] = internal.stats.parseArgs(plnames,pldflts,plotArgs{:});
Error in Heatmap_test (line 26)
hist3(X,[250 250],"EdgeColor","interp","CdataMode","auto"); histogram, plotting, error MATLAB Answers — New Questions
solving linear system with decomposition(A,’qr’) and qr(A) produce different results
load post.mat
x1 = decomposition(CA,’qr’)b_f;
[qq2,rr2,pp2] = qr(CA);
x2= pp2 * (rr2(qq2’*b_f));
[qq3,rr3,pp3] = qr(CA,"econ","vector");
x3(pp3,:) = rr3(qq3’*b_f);
any(x1-x2~=0)
any(x3-x2~=0)
I know that the CA matrix is ill-conditioned. But that doesn’t explain the difference in solution, right?
Also, solving the system using decomposition(CA,’lu’) and lu(CA) produce the same results. So why not the ‘qr’ pair?load post.mat
x1 = decomposition(CA,’qr’)b_f;
[qq2,rr2,pp2] = qr(CA);
x2= pp2 * (rr2(qq2’*b_f));
[qq3,rr3,pp3] = qr(CA,"econ","vector");
x3(pp3,:) = rr3(qq3’*b_f);
any(x1-x2~=0)
any(x3-x2~=0)
I know that the CA matrix is ill-conditioned. But that doesn’t explain the difference in solution, right?
Also, solving the system using decomposition(CA,’lu’) and lu(CA) produce the same results. So why not the ‘qr’ pair? load post.mat
x1 = decomposition(CA,’qr’)b_f;
[qq2,rr2,pp2] = qr(CA);
x2= pp2 * (rr2(qq2’*b_f));
[qq3,rr3,pp3] = qr(CA,"econ","vector");
x3(pp3,:) = rr3(qq3’*b_f);
any(x1-x2~=0)
any(x3-x2~=0)
I know that the CA matrix is ill-conditioned. But that doesn’t explain the difference in solution, right?
Also, solving the system using decomposition(CA,’lu’) and lu(CA) produce the same results. So why not the ‘qr’ pair? qr decomposition, linear algebra, linear system MATLAB Answers — New Questions
Reset to original view for UIAxes control in AppDesigner programmatically
Hello,
I am trying to programmatically restore the zoom for original view for UIAxes compoinent in AppDesigner.
I’d like to achieve the same as clicking on the ‘house’ icon at the zoom controls.
Does anyone know how to do this?
–HanHello,
I am trying to programmatically restore the zoom for original view for UIAxes compoinent in AppDesigner.
I’d like to achieve the same as clicking on the ‘house’ icon at the zoom controls.
Does anyone know how to do this?
–Han Hello,
I am trying to programmatically restore the zoom for original view for UIAxes compoinent in AppDesigner.
I’d like to achieve the same as clicking on the ‘house’ icon at the zoom controls.
Does anyone know how to do this?
–Han appdesigner, uiaxes MATLAB Answers — New Questions
imagethreshold and ANN,INCREESING ACCURACY
if I have an ANN code to classify ADHA MRI images with little accuracy can I increese it if I make multithresholding for this MRI images , can I increes this accuracyif I have an ANN code to classify ADHA MRI images with little accuracy can I increese it if I make multithresholding for this MRI images , can I increes this accuracy if I have an ANN code to classify ADHA MRI images with little accuracy can I increese it if I make multithresholding for this MRI images , can I increes this accuracy image segmentation, ann, accuracy MATLAB Answers — New Questions
Optimization of a 10-DOF Vehicle model in Simulink
I have built a 10-DOF vehicle model for estimation of the lateral dynamics. Next task is to optimize it. For example, I want to find the optimal values of the Yaw moment of inertia (input) that maintain the Yaw Rate under a certain threshold for a given maneuver (Step steer).
The problem is that since the model is very complex, there is not a transfer function between these two.
Ideally, I want to use a genetic algorithm for these task.
Any suggestions on how to resolve this?I have built a 10-DOF vehicle model for estimation of the lateral dynamics. Next task is to optimize it. For example, I want to find the optimal values of the Yaw moment of inertia (input) that maintain the Yaw Rate under a certain threshold for a given maneuver (Step steer).
The problem is that since the model is very complex, there is not a transfer function between these two.
Ideally, I want to use a genetic algorithm for these task.
Any suggestions on how to resolve this? I have built a 10-DOF vehicle model for estimation of the lateral dynamics. Next task is to optimize it. For example, I want to find the optimal values of the Yaw moment of inertia (input) that maintain the Yaw Rate under a certain threshold for a given maneuver (Step steer).
The problem is that since the model is very complex, there is not a transfer function between these two.
Ideally, I want to use a genetic algorithm for these task.
Any suggestions on how to resolve this? simulink, vehicle dynamics, optimization, genetic algorithms MATLAB Answers — New Questions
GUI development.
Hello.
I am getting the following error for every GUI I try to execute. Can someone please explain what is wrong?
??? Attempt to reference field of non-structure array.
Error in ==> myAdder>add_pushbutton_Callback at 134
a = get(handles.input1_editText,’String’);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> myAdder at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
I executed the myadder GUI given here:
http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/Hello.
I am getting the following error for every GUI I try to execute. Can someone please explain what is wrong?
??? Attempt to reference field of non-structure array.
Error in ==> myAdder>add_pushbutton_Callback at 134
a = get(handles.input1_editText,’String’);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> myAdder at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
I executed the myadder GUI given here:
http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/ Hello.
I am getting the following error for every GUI I try to execute. Can someone please explain what is wrong?
??? Attempt to reference field of non-structure array.
Error in ==> myAdder>add_pushbutton_Callback at 134
a = get(handles.input1_editText,’String’);
Error in ==> gui_mainfcn at 96
feval(varargin{:});
Error in ==> myAdder at 42
gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback
I executed the myadder GUI given here:
http://blinkdagger.com/matlab/matlab-gui-graphical-user-interface-tutorial-for-beginners/ gui MATLAB Answers — New Questions
How do I write a projectile motion code that is automated and plots motion given certain heights, angles and initial velocity?
I need help writing a "for" or "while" code that is automated in a sense where it plots the projectile’s motion given the heights, angles and initial velocity. I am not including drag or rolling after the initial launch since I want to learn the basics.I need help writing a "for" or "while" code that is automated in a sense where it plots the projectile’s motion given the heights, angles and initial velocity. I am not including drag or rolling after the initial launch since I want to learn the basics. I need help writing a "for" or "while" code that is automated in a sense where it plots the projectile’s motion given the heights, angles and initial velocity. I am not including drag or rolling after the initial launch since I want to learn the basics. plot, plotting, for loop, while loop MATLAB Answers — New Questions
how can i rescale image? standard is at the center part
hello, i want to rescale image using the center standard, not at the corner of the imge
I attatched the example image, the red square is the reference image, and the blue one is the rescaled image (here, the center part is marked as ‘X’, and not only this enlarging case, i want to apply this algorithm for reduction case)
i want to use affine transform or any other method using interpolation, and i want to input the ratio of rescale and output of the rescaled image
I repreciate to all of your answers thanks a lot :))hello, i want to rescale image using the center standard, not at the corner of the imge
I attatched the example image, the red square is the reference image, and the blue one is the rescaled image (here, the center part is marked as ‘X’, and not only this enlarging case, i want to apply this algorithm for reduction case)
i want to use affine transform or any other method using interpolation, and i want to input the ratio of rescale and output of the rescaled image
I repreciate to all of your answers thanks a lot :)) hello, i want to rescale image using the center standard, not at the corner of the imge
I attatched the example image, the red square is the reference image, and the blue one is the rescaled image (here, the center part is marked as ‘X’, and not only this enlarging case, i want to apply this algorithm for reduction case)
i want to use affine transform or any other method using interpolation, and i want to input the ratio of rescale and output of the rescaled image
I repreciate to all of your answers thanks a lot :)) image rescale, affine transform, center part, imwarp MATLAB Answers — New Questions
imcrop not working for tiff
Hi, i want to crop several .tiff pics so i wrote below code but it dosnt work for .tiff files. it works for .png .jepg . i used imshow it shows nothing for .tiff files.
clc;
clear all;
address=’D:alluni things1-mastermaster project6-Data1-pics1-main2L2-E5′;
filenames=dir(fullfile(address,’*.tiff’));
for n=1:numel(filenames)
fullname=fullfile(address,filenames(n).name);
t1=imread(fullname);
info = imfinfo(fullname);
t2=imcrop(t1,[10, 10, 1000, 950]);
t3=size(t2);
imwrite(t2,fullname);
endHi, i want to crop several .tiff pics so i wrote below code but it dosnt work for .tiff files. it works for .png .jepg . i used imshow it shows nothing for .tiff files.
clc;
clear all;
address=’D:alluni things1-mastermaster project6-Data1-pics1-main2L2-E5′;
filenames=dir(fullfile(address,’*.tiff’));
for n=1:numel(filenames)
fullname=fullfile(address,filenames(n).name);
t1=imread(fullname);
info = imfinfo(fullname);
t2=imcrop(t1,[10, 10, 1000, 950]);
t3=size(t2);
imwrite(t2,fullname);
end Hi, i want to crop several .tiff pics so i wrote below code but it dosnt work for .tiff files. it works for .png .jepg . i used imshow it shows nothing for .tiff files.
clc;
clear all;
address=’D:alluni things1-mastermaster project6-Data1-pics1-main2L2-E5′;
filenames=dir(fullfile(address,’*.tiff’));
for n=1:numel(filenames)
fullname=fullfile(address,filenames(n).name);
t1=imread(fullname);
info = imfinfo(fullname);
t2=imcrop(t1,[10, 10, 1000, 950]);
t3=size(t2);
imwrite(t2,fullname);
end .tiff, image processing, imcrop MATLAB Answers — New Questions
¿Could you help me to activate MatLab?
I had a crash in my computer, I downloaded again the application, but I have no the activation Key
Thanks in advance and Best Regards
Jaime TamaritI had a crash in my computer, I downloaded again the application, but I have no the activation Key
Thanks in advance and Best Regards
Jaime Tamarit I had a crash in my computer, I downloaded again the application, but I have no the activation Key
Thanks in advance and Best Regards
Jaime Tamarit activation of matlab MATLAB Answers — New Questions
Solver stopped prematurely. fsolve stopped because it exceeded the function evaluation limit, options.MaxFunctionEvaluations = 2.000000e+02.
I want to solve a system of equations containing two non-linear equations, one of which is Psh==Pse,the other is Qs==0, but solving it with the fsolve function doesn’t achieve the given constraints, how can I solve this problem?
V_s=10*1e3/sqrt(3);
n_t=25*sqrt(3);
V_r=400/sqrt(3);
theta_r=pi/12;
Srate=100*1e3/3;
Zbase=(V_r)^2/Srate;
X_r=0.4*Zbase;
X_t=400^2/(150*1e3)*4/100;
rho=0:2*pi/24:2*pi;
V_se=0.2*V_r;
Z_r=j*X_r;
for m=1:25
fun=@(x)myfun(x,rho(m));
x0=[0 0];
[x,fval,exitflag(m),~]=fsolve(fun,x0);
gamma(m)=x(1);
I_sh(m)=x(2);
I_r(m)=1/(Z_r+j*X_t)*(sqrt(3)*V_s*exp(j*pi/6)/n_t+V_se*exp(j*rho(m))-V_r*exp(j*theta_r)-j*X_t*I_sh(m)*exp(j*gamma(m)));
V_c1(m)=sqrt(3)*V_s*exp(j*pi/6)/n_t-j*X_t*(I_sh(m)*exp(j*gamma(m))+I_r(m));
Psh(m)=real(V_c1(m)*conj(I_sh(m)*exp(j*gamma(m))));
Pse(m)=real(V_se*exp(j*rho(m))*conj(I_r(m)));
Pr(m)=real(V_r*exp(j*theta_r)*conj(I_r(m)));
Qr(m)=imag(V_r*exp(j*theta_r)*conj(I_r(m)));
Sr(m)=sqrt(Pr(m)^2+Qr(m)^2);
Ps(m)=real(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r(m)+I_sh(m)*exp(j*gamma(m))));
Qs(m)=imag(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r(m)+I_sh(m)*exp(j*gamma(m))));
Ss(m)=sqrt(Ps(m)^2+Qs(m)^2);
end
plot( Ps/Srate,Qs/Srate,LineWidth=2,color='[0.9290 0.6940 0.1250]’)
function y=myfun(x,rho)
V_s=10*1e3/sqrt(3);
n_t=25*sqrt(3);
V_r=400/sqrt(3);
theta_r=pi/12;
Srate=100*1e3/3;
Zbase=(V_r)^2/Srate;
X_r=0.4*Zbase;
X_t=400^2/(150*1e3)*4/100;
V_se=0.2*V_r;
Z_r=j*X_r;
%%%%%%%%%%%%%%%%Two constraints,Psh==Pse,Qs==0
gamma=x(1);
I_sh=x(2);
I_r=1/(Z_r+j*X_t)*(sqrt(3)*V_s*exp(j*pi/6)/n_t+V_se*exp(j*rho)-V_r*exp(j*theta_r)-j*X_t*I_sh*exp(j*gamma));
V_c1=sqrt(3)*V_s*exp(j*pi/6)/n_t-j*X_t*(I_sh*exp(j*gamma)+I_r);
Psh=real(V_c1*conj(I_sh*exp(j*gamma)));
Pse=real(V_se*exp(j*rho)*conj(I_r));
Qs=imag(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r+I_sh*exp(j*gamma)));
y=[Psh-Pse; Qs];
endI want to solve a system of equations containing two non-linear equations, one of which is Psh==Pse,the other is Qs==0, but solving it with the fsolve function doesn’t achieve the given constraints, how can I solve this problem?
V_s=10*1e3/sqrt(3);
n_t=25*sqrt(3);
V_r=400/sqrt(3);
theta_r=pi/12;
Srate=100*1e3/3;
Zbase=(V_r)^2/Srate;
X_r=0.4*Zbase;
X_t=400^2/(150*1e3)*4/100;
rho=0:2*pi/24:2*pi;
V_se=0.2*V_r;
Z_r=j*X_r;
for m=1:25
fun=@(x)myfun(x,rho(m));
x0=[0 0];
[x,fval,exitflag(m),~]=fsolve(fun,x0);
gamma(m)=x(1);
I_sh(m)=x(2);
I_r(m)=1/(Z_r+j*X_t)*(sqrt(3)*V_s*exp(j*pi/6)/n_t+V_se*exp(j*rho(m))-V_r*exp(j*theta_r)-j*X_t*I_sh(m)*exp(j*gamma(m)));
V_c1(m)=sqrt(3)*V_s*exp(j*pi/6)/n_t-j*X_t*(I_sh(m)*exp(j*gamma(m))+I_r(m));
Psh(m)=real(V_c1(m)*conj(I_sh(m)*exp(j*gamma(m))));
Pse(m)=real(V_se*exp(j*rho(m))*conj(I_r(m)));
Pr(m)=real(V_r*exp(j*theta_r)*conj(I_r(m)));
Qr(m)=imag(V_r*exp(j*theta_r)*conj(I_r(m)));
Sr(m)=sqrt(Pr(m)^2+Qr(m)^2);
Ps(m)=real(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r(m)+I_sh(m)*exp(j*gamma(m))));
Qs(m)=imag(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r(m)+I_sh(m)*exp(j*gamma(m))));
Ss(m)=sqrt(Ps(m)^2+Qs(m)^2);
end
plot( Ps/Srate,Qs/Srate,LineWidth=2,color='[0.9290 0.6940 0.1250]’)
function y=myfun(x,rho)
V_s=10*1e3/sqrt(3);
n_t=25*sqrt(3);
V_r=400/sqrt(3);
theta_r=pi/12;
Srate=100*1e3/3;
Zbase=(V_r)^2/Srate;
X_r=0.4*Zbase;
X_t=400^2/(150*1e3)*4/100;
V_se=0.2*V_r;
Z_r=j*X_r;
%%%%%%%%%%%%%%%%Two constraints,Psh==Pse,Qs==0
gamma=x(1);
I_sh=x(2);
I_r=1/(Z_r+j*X_t)*(sqrt(3)*V_s*exp(j*pi/6)/n_t+V_se*exp(j*rho)-V_r*exp(j*theta_r)-j*X_t*I_sh*exp(j*gamma));
V_c1=sqrt(3)*V_s*exp(j*pi/6)/n_t-j*X_t*(I_sh*exp(j*gamma)+I_r);
Psh=real(V_c1*conj(I_sh*exp(j*gamma)));
Pse=real(V_se*exp(j*rho)*conj(I_r));
Qs=imag(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r+I_sh*exp(j*gamma)));
y=[Psh-Pse; Qs];
end I want to solve a system of equations containing two non-linear equations, one of which is Psh==Pse,the other is Qs==0, but solving it with the fsolve function doesn’t achieve the given constraints, how can I solve this problem?
V_s=10*1e3/sqrt(3);
n_t=25*sqrt(3);
V_r=400/sqrt(3);
theta_r=pi/12;
Srate=100*1e3/3;
Zbase=(V_r)^2/Srate;
X_r=0.4*Zbase;
X_t=400^2/(150*1e3)*4/100;
rho=0:2*pi/24:2*pi;
V_se=0.2*V_r;
Z_r=j*X_r;
for m=1:25
fun=@(x)myfun(x,rho(m));
x0=[0 0];
[x,fval,exitflag(m),~]=fsolve(fun,x0);
gamma(m)=x(1);
I_sh(m)=x(2);
I_r(m)=1/(Z_r+j*X_t)*(sqrt(3)*V_s*exp(j*pi/6)/n_t+V_se*exp(j*rho(m))-V_r*exp(j*theta_r)-j*X_t*I_sh(m)*exp(j*gamma(m)));
V_c1(m)=sqrt(3)*V_s*exp(j*pi/6)/n_t-j*X_t*(I_sh(m)*exp(j*gamma(m))+I_r(m));
Psh(m)=real(V_c1(m)*conj(I_sh(m)*exp(j*gamma(m))));
Pse(m)=real(V_se*exp(j*rho(m))*conj(I_r(m)));
Pr(m)=real(V_r*exp(j*theta_r)*conj(I_r(m)));
Qr(m)=imag(V_r*exp(j*theta_r)*conj(I_r(m)));
Sr(m)=sqrt(Pr(m)^2+Qr(m)^2);
Ps(m)=real(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r(m)+I_sh(m)*exp(j*gamma(m))));
Qs(m)=imag(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r(m)+I_sh(m)*exp(j*gamma(m))));
Ss(m)=sqrt(Ps(m)^2+Qs(m)^2);
end
plot( Ps/Srate,Qs/Srate,LineWidth=2,color='[0.9290 0.6940 0.1250]’)
function y=myfun(x,rho)
V_s=10*1e3/sqrt(3);
n_t=25*sqrt(3);
V_r=400/sqrt(3);
theta_r=pi/12;
Srate=100*1e3/3;
Zbase=(V_r)^2/Srate;
X_r=0.4*Zbase;
X_t=400^2/(150*1e3)*4/100;
V_se=0.2*V_r;
Z_r=j*X_r;
%%%%%%%%%%%%%%%%Two constraints,Psh==Pse,Qs==0
gamma=x(1);
I_sh=x(2);
I_r=1/(Z_r+j*X_t)*(sqrt(3)*V_s*exp(j*pi/6)/n_t+V_se*exp(j*rho)-V_r*exp(j*theta_r)-j*X_t*I_sh*exp(j*gamma));
V_c1=sqrt(3)*V_s*exp(j*pi/6)/n_t-j*X_t*(I_sh*exp(j*gamma)+I_r);
Psh=real(V_c1*conj(I_sh*exp(j*gamma)));
Pse=real(V_se*exp(j*rho)*conj(I_r));
Qs=imag(sqrt(3)*V_s*exp(j*pi/6)/n_t*conj(I_r+I_sh*exp(j*gamma)));
y=[Psh-Pse; Qs];
end fsolve, solving systems of nonlinear equations MATLAB Answers — New Questions
How to run two simulink models in parallel?
Hello everyone,
I am working with a 3DOF model of a commercial airplane in MatLab/Simulink. This model contains the state propagator and the autopilot. I would like to train an RL agent using the outputs of this model. The problem is that the environment for the RL application contains an exact copy of the state propagator of the 3DOF model. How can I use two of these systems without conflicting with the goto/from blocks and the signal name?
Thank youHello everyone,
I am working with a 3DOF model of a commercial airplane in MatLab/Simulink. This model contains the state propagator and the autopilot. I would like to train an RL agent using the outputs of this model. The problem is that the environment for the RL application contains an exact copy of the state propagator of the 3DOF model. How can I use two of these systems without conflicting with the goto/from blocks and the signal name?
Thank you Hello everyone,
I am working with a 3DOF model of a commercial airplane in MatLab/Simulink. This model contains the state propagator and the autopilot. I would like to train an RL agent using the outputs of this model. The problem is that the environment for the RL application contains an exact copy of the state propagator of the 3DOF model. How can I use two of these systems without conflicting with the goto/from blocks and the signal name?
Thank you simulink, subsystem, scope MATLAB Answers — New Questions
Save a stack of 16-bit images to one TIFF file
Hi,
I would like to save a stack (in this case 150) of uint16 grayscale images to a single TIFF-file. First I tried pass over the 3D-array (the third dimension are the individual images) to imwrite, but it complained "Writing TIFFs with 150 components is not supported with IMWRITE. Use Tiff instead. ". I tried this (imgdata is my 3D-array of images):
imgdata = uint16(imgdata);
tagstruct.ImageLength = size(imgdata,1);
tagstruct.ImageWidth = size(imgdata,2);
tagstruct.Photometric = Tiff.Photometric.MinIsBlack;
tagstruct.BitsPerSample = 16;
tagstruct.SamplesPerPixel = 1;
tagstruct.PlanarConfiguration = Tiff.PlanarConfiguration.Chunky;
tagstruct.Software = ‘MATLAB’;
tagstruct.Compression = 1;
t = Tiff(path,’w’);
setTag(t,tagstruct);
write(t,imgdata);
I got the error message "SamplesPerPixel is 1, but the number of image planes provided was 150.", so write() interprets the third dimension as the samples per pixel, which is not what I want. Samples per Pixel needs to be 1, as I have grayscale images.
After that, I also tried it with the "append" option and a loop over the images (with the same tagstruct as above)
t = Tiff(path,’a’);
setTag(t,tagstruct);
numberOfImages = size(imgdata,3);
for n=1:numberOfImages
currentImage = squeeze(imgdata(:,:,n));
write(t,currentImage);
end
close(t);
It runs without errors and the file size of the uncompressed file is exactly what I would expect, so I think the data is in the file. But I can’t open the file in any other software than matlab. Irfanview, imageJ, Windows image viewer all show just the first image of the stack.
Any ideas what’s wrong? Thanks.Hi,
I would like to save a stack (in this case 150) of uint16 grayscale images to a single TIFF-file. First I tried pass over the 3D-array (the third dimension are the individual images) to imwrite, but it complained "Writing TIFFs with 150 components is not supported with IMWRITE. Use Tiff instead. ". I tried this (imgdata is my 3D-array of images):
imgdata = uint16(imgdata);
tagstruct.ImageLength = size(imgdata,1);
tagstruct.ImageWidth = size(imgdata,2);
tagstruct.Photometric = Tiff.Photometric.MinIsBlack;
tagstruct.BitsPerSample = 16;
tagstruct.SamplesPerPixel = 1;
tagstruct.PlanarConfiguration = Tiff.PlanarConfiguration.Chunky;
tagstruct.Software = ‘MATLAB’;
tagstruct.Compression = 1;
t = Tiff(path,’w’);
setTag(t,tagstruct);
write(t,imgdata);
I got the error message "SamplesPerPixel is 1, but the number of image planes provided was 150.", so write() interprets the third dimension as the samples per pixel, which is not what I want. Samples per Pixel needs to be 1, as I have grayscale images.
After that, I also tried it with the "append" option and a loop over the images (with the same tagstruct as above)
t = Tiff(path,’a’);
setTag(t,tagstruct);
numberOfImages = size(imgdata,3);
for n=1:numberOfImages
currentImage = squeeze(imgdata(:,:,n));
write(t,currentImage);
end
close(t);
It runs without errors and the file size of the uncompressed file is exactly what I would expect, so I think the data is in the file. But I can’t open the file in any other software than matlab. Irfanview, imageJ, Windows image viewer all show just the first image of the stack.
Any ideas what’s wrong? Thanks. Hi,
I would like to save a stack (in this case 150) of uint16 grayscale images to a single TIFF-file. First I tried pass over the 3D-array (the third dimension are the individual images) to imwrite, but it complained "Writing TIFFs with 150 components is not supported with IMWRITE. Use Tiff instead. ". I tried this (imgdata is my 3D-array of images):
imgdata = uint16(imgdata);
tagstruct.ImageLength = size(imgdata,1);
tagstruct.ImageWidth = size(imgdata,2);
tagstruct.Photometric = Tiff.Photometric.MinIsBlack;
tagstruct.BitsPerSample = 16;
tagstruct.SamplesPerPixel = 1;
tagstruct.PlanarConfiguration = Tiff.PlanarConfiguration.Chunky;
tagstruct.Software = ‘MATLAB’;
tagstruct.Compression = 1;
t = Tiff(path,’w’);
setTag(t,tagstruct);
write(t,imgdata);
I got the error message "SamplesPerPixel is 1, but the number of image planes provided was 150.", so write() interprets the third dimension as the samples per pixel, which is not what I want. Samples per Pixel needs to be 1, as I have grayscale images.
After that, I also tried it with the "append" option and a loop over the images (with the same tagstruct as above)
t = Tiff(path,’a’);
setTag(t,tagstruct);
numberOfImages = size(imgdata,3);
for n=1:numberOfImages
currentImage = squeeze(imgdata(:,:,n));
write(t,currentImage);
end
close(t);
It runs without errors and the file size of the uncompressed file is exactly what I would expect, so I think the data is in the file. But I can’t open the file in any other software than matlab. Irfanview, imageJ, Windows image viewer all show just the first image of the stack.
Any ideas what’s wrong? Thanks. tif, tiff, multipage tiff, imwrite MATLAB Answers — New Questions
Error using readtable: An error occurred while trying to determine whether “readData” is a function name
I get the following error when I am calling
readtable(‘file.csv’)
Error using readtable (line 197)
An error occurred while trying to determine whether "readData" is a function name.
Note: readtable detected the following parameters:
‘Delimiter’, ‘,’, ‘HeaderLines’, , ‘Format’, ”
Can you please help me on this one (do not provide me links on the same topic, I have checked everything and nothing is working) ?I get the following error when I am calling
readtable(‘file.csv’)
Error using readtable (line 197)
An error occurred while trying to determine whether "readData" is a function name.
Note: readtable detected the following parameters:
‘Delimiter’, ‘,’, ‘HeaderLines’, , ‘Format’, ”
Can you please help me on this one (do not provide me links on the same topic, I have checked everything and nothing is working) ? I get the following error when I am calling
readtable(‘file.csv’)
Error using readtable (line 197)
An error occurred while trying to determine whether "readData" is a function name.
Note: readtable detected the following parameters:
‘Delimiter’, ‘,’, ‘HeaderLines’, , ‘Format’, ”
Can you please help me on this one (do not provide me links on the same topic, I have checked everything and nothing is working) ? readtable MATLAB Answers — New Questions
Which UHD version is compatible for MATLAB 2023a
I have a computer which is not connected to internet and I have NI USRP 2954R, and both are connected via LAN cable. The computer is not connected to the internet. So, I can’t download the communications toolbox directly through MATLAB software. So, can anyone tell me which UHD(Which is to be downloaded from ettus website) version is compatible with MATLAB 2023b?I have a computer which is not connected to internet and I have NI USRP 2954R, and both are connected via LAN cable. The computer is not connected to the internet. So, I can’t download the communications toolbox directly through MATLAB software. So, can anyone tell me which UHD(Which is to be downloaded from ettus website) version is compatible with MATLAB 2023b? I have a computer which is not connected to internet and I have NI USRP 2954R, and both are connected via LAN cable. The computer is not connected to the internet. So, I can’t download the communications toolbox directly through MATLAB software. So, can anyone tell me which UHD(Which is to be downloaded from ettus website) version is compatible with MATLAB 2023b? ettus, matlab2023b, national instruments, usrp, uhd MATLAB Answers — New Questions
Remove exponentials with positive argument in symbolic MATLAB
Hello!
I am using symbolic MATLAB to obtain an expression of the form:
Where are some complicated expresions of other variables. To avoid problems with numeric evaluation, I would like to express the expression in the form:
Is there a way to easily implement that on MATLAB?
Thanks!Hello!
I am using symbolic MATLAB to obtain an expression of the form:
Where are some complicated expresions of other variables. To avoid problems with numeric evaluation, I would like to express the expression in the form:
Is there a way to easily implement that on MATLAB?
Thanks! Hello!
I am using symbolic MATLAB to obtain an expression of the form:
Where are some complicated expresions of other variables. To avoid problems with numeric evaluation, I would like to express the expression in the form:
Is there a way to easily implement that on MATLAB?
Thanks! exponential, simplification MATLAB Answers — New Questions
Latitude and Longitude of Path from A to B
Hi all,
Is there a premade function in Matlab that can gives sets of latitude and longitude of the shortest possible routes (like GPS) from one place to another (represented also as latitude longtitude)
So the *input* is:
Latitude and Longitude of a place A
Latitude and Longitude of a place B
The *output* is:
set of latitudes and longitudes of route 1 from A to B in a matrix
set of latitudes and longitudes of route 2 from A to B in a matrix
set of latitudes and longitudes of route 3 from A to B in a matrix
etc…..
The number of points of latitudes and longitudes in the output would depend on another input that describe how details the output would be.
Might be very complex things to do.
Thanks a lot in advance for any suggestion.Hi all,
Is there a premade function in Matlab that can gives sets of latitude and longitude of the shortest possible routes (like GPS) from one place to another (represented also as latitude longtitude)
So the *input* is:
Latitude and Longitude of a place A
Latitude and Longitude of a place B
The *output* is:
set of latitudes and longitudes of route 1 from A to B in a matrix
set of latitudes and longitudes of route 2 from A to B in a matrix
set of latitudes and longitudes of route 3 from A to B in a matrix
etc…..
The number of points of latitudes and longitudes in the output would depend on another input that describe how details the output would be.
Might be very complex things to do.
Thanks a lot in advance for any suggestion. Hi all,
Is there a premade function in Matlab that can gives sets of latitude and longitude of the shortest possible routes (like GPS) from one place to another (represented also as latitude longtitude)
So the *input* is:
Latitude and Longitude of a place A
Latitude and Longitude of a place B
The *output* is:
set of latitudes and longitudes of route 1 from A to B in a matrix
set of latitudes and longitudes of route 2 from A to B in a matrix
set of latitudes and longitudes of route 3 from A to B in a matrix
etc…..
The number of points of latitudes and longitudes in the output would depend on another input that describe how details the output would be.
Might be very complex things to do.
Thanks a lot in advance for any suggestion. gps, latitude, longitude MATLAB Answers — New Questions
MATLAB Function for Evaluating Body Position in SolidWorks Stuck in Busy Mode
I’m working on a MATLAB function that interacts with SolidWorks to evaluate the position of a body within a SolidWorks part. The function performs the evaluation correctly, but I’m encountering an issue where it gets stuck in a busy mode and doesn’t exit. This results in MATLAB becoming unresponsive indefinitely.
function position = getposition(path, bodyname, N)
% Connect to SolidWorks
% Crea un’istanza dell’applicazione SolidWorks
swApp = actxserver(‘SldWorks.Application’);
% Imposta l’applicazione SolidWorks come visibile
set(swApp, ‘Visible’, true);
% Apri il documento specificato
% ‘path’ deve essere il percorso completo del documento da aprire
swModel = invoke(swApp, ‘OpenDoc’, path, 1); % 1 per parti, 2 per assiemi, ecc.
% Ottieni il gestore delle configurazioni del modello aperto
configMgr = invoke(swModel, ‘ConfigurationManager’);
% Ottieni la configurazione attiva
config = invoke(configMgr, ‘ActiveConfiguration’);
% Ottieni i corpi solidi nella part
bodies = invoke(swModel, ‘GetBodies2’, 0, true); % 0 per corpi solidi
% swModel = [];
numBodies = length(bodies);
if bodyname == "Grain"
if N > 1
if mod(N, 2) == 0
bodyname = ["Grain_rep["+num2str(N/2)+"]","Grain_rep["+num2str(N/2+1)+"]"];
else
bodyname = "Grain_rep["+num2str(round(N/2))+"]";
end
end
end
position = zeros(length(bodyname),3);
j = 1;
% Loop through each body and get its name
for i = 1:numBodies
body = bodies{i}; % SolidWorks uses 0-based indexing
if length(bodyname)>1
if contains(body.Name, bodyname)
boundingBox = invoke(body, ‘GetBodyBox’);
position(j,:) = [mean([boundingBox(1:3); boundingBox(4:6)])];
j = j+1;
end
else
if body.Name == bodyname
boundingBox = invoke(body, ‘GetBodyBox’);
position = mean([boundingBox(1:3); boundingBox(4:6)]);
break
end
end
bodies{i} = [];
end
position = position.*[-1 1 1];
release(swApp)
release(swModel)
end
Despite checking for any infinite loops or blocking calls, I haven’t been able to identify the cause of the issue.
Has anyone faced a similar problem or can suggest a potential solution?
Thank you in advance for your assistance!I’m working on a MATLAB function that interacts with SolidWorks to evaluate the position of a body within a SolidWorks part. The function performs the evaluation correctly, but I’m encountering an issue where it gets stuck in a busy mode and doesn’t exit. This results in MATLAB becoming unresponsive indefinitely.
function position = getposition(path, bodyname, N)
% Connect to SolidWorks
% Crea un’istanza dell’applicazione SolidWorks
swApp = actxserver(‘SldWorks.Application’);
% Imposta l’applicazione SolidWorks come visibile
set(swApp, ‘Visible’, true);
% Apri il documento specificato
% ‘path’ deve essere il percorso completo del documento da aprire
swModel = invoke(swApp, ‘OpenDoc’, path, 1); % 1 per parti, 2 per assiemi, ecc.
% Ottieni il gestore delle configurazioni del modello aperto
configMgr = invoke(swModel, ‘ConfigurationManager’);
% Ottieni la configurazione attiva
config = invoke(configMgr, ‘ActiveConfiguration’);
% Ottieni i corpi solidi nella part
bodies = invoke(swModel, ‘GetBodies2’, 0, true); % 0 per corpi solidi
% swModel = [];
numBodies = length(bodies);
if bodyname == "Grain"
if N > 1
if mod(N, 2) == 0
bodyname = ["Grain_rep["+num2str(N/2)+"]","Grain_rep["+num2str(N/2+1)+"]"];
else
bodyname = "Grain_rep["+num2str(round(N/2))+"]";
end
end
end
position = zeros(length(bodyname),3);
j = 1;
% Loop through each body and get its name
for i = 1:numBodies
body = bodies{i}; % SolidWorks uses 0-based indexing
if length(bodyname)>1
if contains(body.Name, bodyname)
boundingBox = invoke(body, ‘GetBodyBox’);
position(j,:) = [mean([boundingBox(1:3); boundingBox(4:6)])];
j = j+1;
end
else
if body.Name == bodyname
boundingBox = invoke(body, ‘GetBodyBox’);
position = mean([boundingBox(1:3); boundingBox(4:6)]);
break
end
end
bodies{i} = [];
end
position = position.*[-1 1 1];
release(swApp)
release(swModel)
end
Despite checking for any infinite loops or blocking calls, I haven’t been able to identify the cause of the issue.
Has anyone faced a similar problem or can suggest a potential solution?
Thank you in advance for your assistance! I’m working on a MATLAB function that interacts with SolidWorks to evaluate the position of a body within a SolidWorks part. The function performs the evaluation correctly, but I’m encountering an issue where it gets stuck in a busy mode and doesn’t exit. This results in MATLAB becoming unresponsive indefinitely.
function position = getposition(path, bodyname, N)
% Connect to SolidWorks
% Crea un’istanza dell’applicazione SolidWorks
swApp = actxserver(‘SldWorks.Application’);
% Imposta l’applicazione SolidWorks come visibile
set(swApp, ‘Visible’, true);
% Apri il documento specificato
% ‘path’ deve essere il percorso completo del documento da aprire
swModel = invoke(swApp, ‘OpenDoc’, path, 1); % 1 per parti, 2 per assiemi, ecc.
% Ottieni il gestore delle configurazioni del modello aperto
configMgr = invoke(swModel, ‘ConfigurationManager’);
% Ottieni la configurazione attiva
config = invoke(configMgr, ‘ActiveConfiguration’);
% Ottieni i corpi solidi nella part
bodies = invoke(swModel, ‘GetBodies2’, 0, true); % 0 per corpi solidi
% swModel = [];
numBodies = length(bodies);
if bodyname == "Grain"
if N > 1
if mod(N, 2) == 0
bodyname = ["Grain_rep["+num2str(N/2)+"]","Grain_rep["+num2str(N/2+1)+"]"];
else
bodyname = "Grain_rep["+num2str(round(N/2))+"]";
end
end
end
position = zeros(length(bodyname),3);
j = 1;
% Loop through each body and get its name
for i = 1:numBodies
body = bodies{i}; % SolidWorks uses 0-based indexing
if length(bodyname)>1
if contains(body.Name, bodyname)
boundingBox = invoke(body, ‘GetBodyBox’);
position(j,:) = [mean([boundingBox(1:3); boundingBox(4:6)])];
j = j+1;
end
else
if body.Name == bodyname
boundingBox = invoke(body, ‘GetBodyBox’);
position = mean([boundingBox(1:3); boundingBox(4:6)]);
break
end
end
bodies{i} = [];
end
position = position.*[-1 1 1];
release(swApp)
release(swModel)
end
Despite checking for any infinite loops or blocking calls, I haven’t been able to identify the cause of the issue.
Has anyone faced a similar problem or can suggest a potential solution?
Thank you in advance for your assistance! solidworks, stuck MATLAB Answers — New Questions
Standalone Executable starting C++ application
Hello, we are compiling a standalone matlab application with matlab 2022b which starts a C++ compiled application. The C++ executable is compiled with c++20 standard. However, starting the application crashes using a c++20 function. With the process explorer we see that the dlls from the Matlab folder are loaded which are not compatible to c++20. What can we do?Hello, we are compiling a standalone matlab application with matlab 2022b which starts a C++ compiled application. The C++ executable is compiled with c++20 standard. However, starting the application crashes using a c++20 function. With the process explorer we see that the dlls from the Matlab folder are loaded which are not compatible to c++20. What can we do? Hello, we are compiling a standalone matlab application with matlab 2022b which starts a C++ compiled application. The C++ executable is compiled with c++20 standard. However, starting the application crashes using a c++20 function. With the process explorer we see that the dlls from the Matlab folder are loaded which are not compatible to c++20. What can we do? c++ dlls wrongly loaded MATLAB Answers — New Questions