running two while loops
16 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
xRobot
am 24 Nov. 2019
Beantwortet: Walter Roberson
am 25 Nov. 2019
Hello,
I am attempting to run two while loops similar to below with check being a value zero or 1:
input(enter guess)
check = check(guess)
while check == 0
do things
input(enter guess)
check = check(guess)
while check == 1
do things
input(enter guess)
check = check(guess)
The problem I am having is that once I am is that once I enter the second loop and check becomes 0 I cannot go back to the above loop I am stuck in the one where check == 1.
Is this an example of a case where parallel while loop tools would be needed like the parallel toolbox.
1 Kommentar
Rik
am 24 Nov. 2019
Since you rely on user input, it doesn't look to me like this is a parallel process. It looks like you need either two while loops with their own check, or a single loop with two checks in its condition.
Akzeptierte Antwort
Walter Roberson
am 25 Nov. 2019
As a general form you can use something like
need_to_repeat_outer_loop = true;
while need_to_repeat_outer_loop
%some code
need_to_repeat_inner_loop = true;
while need_to_repeat_inner_loop
%some code
if some inner condition
need_to_repeat_inner_loop = false;
end
end
%some code
if some outer condition
need_to_repeat_outer_loop = false;
end
end
Hower, in practice most of the time you would instead write
while true
%some code
while true
%some code
if some inner condition
break; %out of inner loop
end
end
%some code
if some outer condition
break;
end
end
Sometimes you are inside the inner loop and need to signal that the outer loop is to be stopped. For that you can use
while true
%some code
while true
stop_outer = false;
%some code
if some inner condition
stop_outer = true;
break; %out of inner loop
end
end
if stop_outer;
break;
end
%some code
end
0 Kommentare
Weitere Antworten (0)
Siehe auch
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!