标题:MATLAB IF-ELSE-END 结构[转载]
取消只看楼主
wangyou6699
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-6-1
 问题点数:0 回复次数:0 
MATLAB IF-ELSE-END 结构[转载]

http://cache.baidu.com/c?word=matlab%2Cif&url=http%3A//www%2E51base%2Ecom/machine/softedu/cam/matlab/5120060126134%2Eshtml&p=882a9447c8dd57fc57ee9e204f498d&user=baidu

http://www.51base.com/machine/softedu/cam/matlab/


在编程语言里,这种逻辑由某种If-Else-End结构来提供。最简单的If-Else-End结构是: if expression {commands} end 如果在表达式中的所有元素为真(非零),那么就执行if和end语言之间的{commands}。 cost cost = 200 假如有两个选择,If-Else-End结构是: if expression commands evaluated if True else commands eva
很多情况下,命令的序列必须根据关系的检验有条件地执行。在编程语言里, 种逻辑由某种If-Else-End结构来提供。最简单的If-Else-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
最后的这种形式,只和所碰到的、与第一个真值表达式相关的命令被执行;接下来的关系表达式不检验,跳过其余的If-Else-End结构。而且,最后的else命令可有可无。
现在我们知道了如何用If-Else-End结构来决策,就有可能提出一种合理的方法来跳出或中断For循环和While循环。
» EPS=1;
» for num=1:1000
EPS=EPS/2;
if (1+EPS)<=1
EPS=EPS*2
break
end
end
EPS =
2.2204e-016
» num
num =
53
这个例子演示了估算EPS的另一种方法。在这种情况下,For循环构造成要执行足够多的次数。If-Else-End结构检验要看EPS是否变得足够小。如果是,EPS乘2,break命令强迫For循环提早结束,num=53。
在这个例子里,当执行break语句时,MATLAB跳到循环外下一个语句。在现在情况下,它返回到MATLAB的提示符并显示EPS。如果一个break语句出现在一个嵌套的For循环或While循环结构里,那么MATLAB只跳出break所在的那个循环,不跳出整个嵌套结构。
7.4 小结
MATLAB控制流功能可以概括如下:

控 制 流 结 构
for x = array
commands
end
For循环,每一次迭代将x赋以数组的第i列,执行命令

while expression
commands
end
While循环,只要表达式的所有元素为真或非零,执行命令。

if expression
commands
end
简单的If-Else-End结构,若在表达式中的所有元素是真值或非零,执行命令。

if expression
commands evaluated if True
else expression
commands evaluated if False
end
具有两条路径的If-Else-End结构,若表达式为真或非零,则执行一组命令。若表达式为假或零,则执行另一组命令。

if expression1
commands evaluated if expression1 is True
elseif expression2
commands evaluated if expression2 is True
if expression3
commands evaluated if expression3 is True
elseif ……



else
commands evaluated if no other
expression is True
end
最一般的If-Else-End结构。只执行与第一个真值表达式相关的命令。

break 结束For循环和While循环的执行

搜索更多相关主题的帖子: MATLAB 结构 
2007-01-03 14:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-113928-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.105499 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved