how i can perform this for loop
1 view (last 30 days)
Show older comments
Tammun filistin
on 22 Jun 2018
Edited: Tammun filistin
on 22 Jun 2018
Hello im trying to perform this cod 20 times but the for loop moves one time"j=1 instead of 20" could anyone please help me to solve it!
clear all
close all
clc
for j=1:20
c=[1 2 3 5 6 7 8 99 9 3 4 55 66 7 8 9 9 97 0 1 2 ];
for k=1:length(c)
if c(k)>=5
ag(k)=1
k1=k
return
elseif c(k)<=-1
ag(k)=0
k1=k;
return
else
end
end
m=k1
l(j)=sum(ag)
end
j
2 Comments
Accepted Answer
Pieter Hamming
on 22 Jun 2018
Replace "return" by "continue". "Return" stops the whole file, "continue" sends it on to the next iteration in the for loop.
More Answers (1)
Meade
on 22 Jun 2018
You're using the return function.
This exits out of the j loop. Try instead replacing return with continue. I'm able to get j to iterate to 20 with that small change.
Best, Meade
clear all
close all
clc
for j=1:20
c=[1 2 3 5 6 7 8 99 9 3 4 55 66 7 8 9 9 97 0 1 2 ];
for k=1:length(c)
if c(k)>=5
ag(k)=1
k1=k
continue
elseif c(k)<=-1
ag(k)=0
k1=k;
continue
else
end
end
m=k1
l(j)=sum(ag)
end
j
%% 20th iter
ag =
0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1
k1 =
18
m =
18
l =
13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
j =
20
See Also
Categories
Find more on Loops and Conditional Statements 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!