Problem in using 'break' and 'while'
2 次查看(过去 30 天)
显示 更早的评论
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,
0 个评论
回答(1 个)
Matt Fig
2012-10-5
编辑:Matt Fig
2012-10-5
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 个评论
Image Analyst
2012-10-5
You could also use true instead of 1 - maybe using true would have made it more understandable???
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!