我是靠谱客的博主 悲凉哈密瓜,最近开发中收集的这篇文章主要介绍matlab循环语句从小到大排列,三个例子讲解MATLAB三种循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

三个例子讲解MATLAB三种循环

FOR循环

在for和end语句之间的{commands}按数组中的每一列执行一次。在每一次迭代中,x被指定为数组的下一列,即在第n次循环中,x=array(:, n)。

如? for n=1:10

x(n)=sin(n*pi/10);

end

当有一个等效的数组方法来解给定的问题时,应避免用For循环。例如,上面的例子可被重写为 ? n=1:10;

? x=sin(n*pi/10)

第二种方式执行速度更快。

为了得到最大的速度,在For循环(While循环)被执行之前,应预先分配数组。

WHILE循环

只要在表达式里的所有元素为真,就执行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)>是假(零),于是While循环结束。最后,EPS与2相乘,因为最后除2使EPS太小。

IF-ELSE-END结构

如果在表达式中的所有元素为真(非零),那么就执行if和end语言之间的{commands}。在表达式包含有几个逻辑子表达式时,即使前一个子表达式决定了表达式的最后逻辑状态,仍要计算所有的子表达式。例如,

最后

以上就是悲凉哈密瓜为你收集整理的matlab循环语句从小到大排列,三个例子讲解MATLAB三种循环的全部内容,希望文章能够帮你解决matlab循环语句从小到大排列,三个例子讲解MATLAB三种循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部