Ending an infinite loop
6 次查看(过去 30 天)
显示 更早的评论
What I want to do is start with some term I (at time x = 0). Then after a random time (using the command exprnd), this number I will either move up one or move down one. This then becomes the new I and the process starts again untill I = 0. How would I do this?
I was thinking of writing something like this:
"I = 100
x = exprnd(2)
y = 2*(randi([0,1]))- 1
while I = 100
x
I + y
I = I + y
end"
However I don't know how to end this, and therefore I can't graph it or anything to check if it works because it keeps on working out the values for ever. How do I do this?
6 个评论
Azzi Abdelmalek
2012-10-12
编辑:Azzi Abdelmalek
2012-10-12
I+y and what? I+y will be affected to which variable? the same question for x
回答(1 个)
Matt Fig
2012-10-12
With I initially at 100, you may never get out of the loop. This will go until I gets to the origin (or ctrl+c).
I = 5; % Start at 5
while I
I = I + (-1)^round(rand);
plot(I,0,'o')
xlim([-20 20])
pause(1);
end
0 个评论
另请参阅
类别
在 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!