MATLAB While 循环
- 格式:doc
- 大小:25.00 KB
- 文档页数:1
MATLAB While 循环
与For循环以固定次数求一组命令的值相反,While 循环以不定的次数求一组语句的值。While循环的一般形式是:
while expression
{commands}
end
只要在表达式里的所有元素为真,就执行while和end 语句之间的{commands}。通常,表达式的求值给出一个标量值,但数组值也同样有效。在数组情况下,所得到数组的所有元素必须都为真。考虑下列例子:
» num=0;EPS=1;
» while (1+EPS)>1
EPS=EPS/2;
num=num+1;
end
» num
num =
53
» EPS=2*EPS
EPS =
2.2204e-016
这个例子表明了计算特殊MATLAB值eps的一种方法,它是一个可加到1,而使结果以有限精度大于1的最小数值。这里我们用大写EPS,因此MATLAB的eps的值不会被覆盖掉。在这个例子里,EPS以1开始。只要(1+EPS)>1为真(非零),就一直求While循环内的命令值。由于EPS不断地被2除,EPS逐渐变小以致于EPS+1不大于1。(记住,发生这种情况是因为计算机使用固定数的数值来表示数。MATLAB 用16位,因此,我们只能期望EPS接近10-16。) 在这一点上,(1+EPS)>1是假(零),于是While循环结束。最后,EPS与2相乘,因为最后除2使EPS太小。