Save variable from a for loop

Hello everyone, I have a problem saving the variable TWR as a value, although I assigned it in the last step. Maybe someone can correct the code for me. Thanks!
R=[0.15,-0.1, 0.08, 0.02, -0.05];
%K1=10000;
%qt=19;
Lh=-0.1;
c=0;
Matrix=zeros(100,1);
for i=0.01:0.01:1
c1=c+i;
HPR=(1+c1*(-(R/Lh)));
TWR=prod(HPR(1:end,1:end));
Matrix(:,c)=TWR;
end
plot(Matrix,c1)

回答(1 个)

try this
R=[0.15,-0.1, 0.08, 0.02, -0.05];
%K1=10000;
%qt=19;
Lh=-0.1;
c=1; % index must start from 1
Matrix=zeros(100,1);
for i=0.01:0.01:1
c1=c+i;
HPR=(1+c1*(-(R/Lh)));
TWR=prod(HPR(1:end,1:end));
Matrix(c)=TWR;
c = c+1; % index should increment by 1
end
plot(Matrix)

4 个评论

Thank you Ameer, now it works!
Glad to be of help.
It is usually simpler and more robust to iterate over indices (rather than iterting over data values):
V = 0.01:0.01:1;
N = numel(V);
M = nan(1,N);
...
for k = 1:N
... do whatever with the data:
V(k)
... store data in output array:
M(k) = ...
end
Thanks Stephen for your comment. I will keep that in mind!

此问题已关闭。

标签

关闭:

2021-8-20

Community Treasure Hunt

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

Start Hunting!

Translated by