Problem in using 'break' and 'while'

2 visualizaciones (últimos 30 días)
Jalali
Jalali el 5 de Oct. de 2012
I have problem in the while loop below. Looks like the break doesn't work, because sometimes R<=0.3 and s becomes one or bigger. What I need is that when R<=0.3 the loop should stop, and when R>0.3 a new x should be generated.
x= rand(); a=0; s=0;
while x>0.1
R=rand();
if R<= 0.3
a=a+1;
break
else
s=s+1;
x=rand();
end
end
Thanks,

Respuestas (1)

Matt Fig
Matt Fig el 5 de Oct. de 2012
Editada: Matt Fig el 5 de Oct. de 2012
This will prove to you that the break statement does work:
x= rand();
a=0;
s=0;
while 1 % Infinite loop? If break doesn't work then yes!
R=rand();
if R<= 0.3
a=a+1;
break % The only way out of the loop...
else
s=s+1;
x=rand();
end
end
When I run this, I always get a=1 (as expected), and s ranges form 0 to 6 on average. But the break statement is clearly working...
  4 comentarios
Image Analyst
Image Analyst el 5 de Oct. de 2012
You could also use true instead of 1 - maybe using true would have made it more understandable???
Matt Fig
Matt Fig el 5 de Oct. de 2012

Iniciar sesión para comentar.

Categorías

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

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by