当前位置:文档之家› MATLAB While 循环

MATLAB While 循环

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太小。

相关主题