在Matlab中,可以通过while语句来进行迭代控制,我总结了两种写法,各有特色,现一一列出。
首先给出一个场景:通过迭代不断地产生随机数a,b,c,当a+b+c>10或迭代进行到第5次后停止迭代。
1.
loop=1;
while d<=10&loop<=5
a=rand;
b=rand;
c=rand;
d=a+b+c;
loop=loop+1;
end
这种方法直接利用了while语句来判断,行数更少,但是阅读代码时相对不便理解;(还有一种判断stop_sign是否为1的方法,与这种方法类似,只是将判断条件设为flag)
2.
loop=1;
while 1
a=rand;
b=rand;
c=rand;
d=a+b+c;
if d>10|loop>=5
break;
end
loop=loop+1
end
这种方法中,while只负责进行迭代,不负责判断条件。if和break配合使用,来达到控制是否结束迭代。虽然多谢了几行,但是阅读代码是更符合人的思维,便于理解。尤其是当进行迭代的操作很复杂时(超过100行)这种判断方法的优势更加明显,不需要前后翻看。