matlab程序流程控制主要有哪些语句

 我来答
书飞凝683
2016-06-12 · TA获得超过1518个赞
知道大有可为答主
回答量:2250
采纳率:83%
帮助的人:461万
展开全部
1 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太小。

2 For 循环语句
For循环允许一组命令以固定的和预定的次数重复。For循环的一般形式是:

for x = array
(commands);
end

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

for n=1:10
x(n)=sin(n*pi/10);
end

x
x =
Columns 1 through 7
0.3090 0.5878 0.8090 0.9511 1.0000 0.9511 0.8090
Columns 8 through 10
0.5878 0.3090 0.0000

换句话,第一语句是说:对n等于1到10,求所有语句的值,直至下一个end语句。第一次通过For循环n=1,第二次,n=2,如此继续,直至n=10。在n=10以后,For循环结束,然后求end语句后面的任何命令值,在这种情况下显示所计算的x的元素。

3 if - end语句
if expression
{commands}
end
如果在表达式中的所有元素为真(非零),那么就执行if和end语言之间的{commands}。在表达式包含有几个逻辑子表达式时,即使前一个子表达式决定了表达式的最后逻辑状态,仍要计算所有的子表达式。例如,
» apples=10; % number of apples
» cost=apples*25 % cost of apples
cost =
250
» if apples>5 % give 20% discount for larger purchases
cost=(1-20/100)*cost;
end
» cost
cost =
200
假如有两个选择,If-Else-End结构是:
if expression
commands evaluated if True
else
commands evaluated if False
end
在这里,如果表达式为真,则执行第一组命令;如果表达式是假,则执行第二组命令。
当有三个或更多的选择时,If-Else-End结构采用形式
if expression1
commands evaluated if expression1 is True
elseif expression2
commands evaluated if expression2 is True
elseif expression3
commands evaluated if expression3 is True
elseif expression4
commands evaluated if expression4 is True
elseif ……



else
commands evaluated if no other expression is True
end
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式