I'm having trouble saving the matrix?

2 views (last 30 days)
studentmatlaber
studentmatlaber on 14 Apr 2022
Answered: Ayush Modi on 29 Sep 2023
Mxest1=(x_T_est1)';
Mxest1(isnan(Mxest1)) = [] %NANs
Myest1=(y_T_est1)';
Myest1(isnan(Myest1)) = [] %NANs
for n=1:length(Mxest1)
mae1=sum(sqrt((x_T-Mxest1(n)).^2+(y_T-Myest1(n)).^2));
end
mae1(1,1)=mae1/n
save('mae1.mat','mae1')
%for new value Mxest1 and Myest1
Mxest1=(x_T_est1)';
Mxest1(isnan(Mxest1)) = [] %NANs
Myest1=(y_T_est1)';
Myest1(isnan(Myest1)) = [] %NANs
for n=1:length(Mxest1)
mae1=sum(sqrt((x_T-Mxest1(n)).^2+(y_T-Myest1(n)).^2));
end
mae1(1,2)=mae1/n
save('mae1.mat','mae1')
Hello. I have 51 variegated Mxest1 and Myest1 values. I enter these values manually. As a result, the matrix I want should be mae1=1x51. After manually entering the first value, I save the first result at mae1(1,1). Then I want to save the second value at mae1(1,2). But it doesn't do it correctly. How can I do that? I would be glad if you help.

Answers (1)

Ayush Modi
Ayush Modi on 29 Sep 2023
Hi,
I understand you would like to store the output from each loop in mae1.
You can achieve this by using a temporary variable “temp” and storing the result inside the “for” loop in “temp” variable. After exiting loop, you can store the value of “temp” variable in “mae1”.
for n=1:length(Mxest1)
temp=sum(sqrt((x_T-Mxest1(n)).^2+(y_T-Myest1(n)).^2));
end
mae1(1,1)=temp/n;
Repeat the same for mea1(1,2).
Hope this helps!

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!