Change a for loop iteration if condition is met

8 views (last 30 days)
Hello everyone,
I have the following problem. I want to stop an iteration in a for loop if a certain condition is met and then let the iteration continue from another value (in other words, skip certain iterations). In the below example the end values should be: b=20 and c=0. (Because the iteration goes to 50, the elseif condition wil never be met). How can i do this?
a= 5;
b=0;
c=0;
for t=1:100
a = a+t
if a == 20
b = 20;
% then the iteration should stop and start from t=50
elseif a == 30
c = 20;
% Then the iteration should stop and start from t=70
end
end
  2 Comments
Sagar Doshi
Sagar Doshi on 20 Jun 2017
You can use break in your loop as mentioned in the documentation link here to come out of the loop and have another loop to start with required value for 'a' and 't'.

Sign in to comment.

Answers (1)

Julian Hapke
Julian Hapke on 20 Jun 2017
with a while loop:
a=5;
b=0;
c=0;
t = 1;
while t <=100
a = a+t;
if a == 20
b = 20;
t = 50;
elseif a == 30
c = 20;
t = 70;
else
t = t+1;
end
end
but have in mind, that this is nonsense, as dpb pointed out.

Community Treasure Hunt

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

Start Hunting!