How to exist out of 2 for loops.

1 Ansicht (letzte 30 Tage)
Max
Max am 24 Okt. 2015
Kommentiert: Walter Roberson am 24 Okt. 2015
for i=1:(q+1)
......
for ...
if ...
break
end
end
end
Im having trouble breaking out of the first for loop. My code runs and finishes the second for loop. I want it to stop after the second for loop is finished running but instead it goes back to the first for loop and starts the whole thing over which obviously messes up the values I've produced in the second for loop. Basically I want the whole script to end after the second for loop is finished fully running.

Antworten (1)

Walter Roberson
Walter Roberson am 24 Okt. 2015
You could call quit, which would exit MATLAB entirely. If you were within a function, you could call return to leave the function.
Otherwise you cannot exit two nested loops. You can, however, set a flag that indicates you want to exit the outer loop and have the outer loop test it.
done_this_stuff = false;
for K = ...
for J = ...
if ...
done_this_stuff = true;
break
end
...
end
%now we are in just the outer loop
if done_this_stuff
break
end
...
end
  2 Kommentare
Max
Max am 24 Okt. 2015
I'm not really sure what you mean, I have sent you a direct message via your profile.
Walter Roberson
Walter Roberson am 24 Okt. 2015
done_this_stuff = false;
for i=1:(q+1)
......
for ...
if ...
done_this_stuff = true;
break
end
end
if done_this_stuff
break
end
end

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by