running two while loops

17 visualizaciones (últimos 30 días)
xRobot
xRobot el 24 de Nov. de 2019
Respondida: Walter Roberson el 25 de Nov. de 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 comentario
Rik
Rik el 24 de Nov. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 25 de Nov. de 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

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by