- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
5.3程序结构;MATLAB语言的程序结构与其他高级语言是一致的,分为顺序结构、分支结构和循环结构.
5.3.1顺序结构
顺序结构是最简单的程序结构,在编写好程序后,系统依次按照程序的物理位置顺序执行程序的各条语句,因此,这种程序比较容易编写.但是,由于程序结构比较单一,实现的功能也比较有限.;例5.10输入x,y的值,并将它们的值互换后输出.
解clear
x=input(pleaseinputx:)
y=input(pleaseinputy:)
z=x;x=y;y=z;
disp(x)
disp(y);5.3.2分支结构;格式二:双分支语句
if逻辑表达式
执行语句1
else
执行语句2
end
如果逻辑表达式为真,就执行语句1;否则,系统就执行语句2.;格式三:多分支语句
if逻辑表达式1
执行语句1
elseif逻辑表达式2
执行语句2
elseif逻辑表达式3
执行语句3
……
else
执行语句n
end
在这种形式中,当运行到程序的某一逻辑表达式为真时,则执行与之有关的语句,此时系统将不再检验其他的逻辑表达式,即系统跳过其余的if-else-end结构.;例5.11输入一个百分制成绩,要求输出成绩等级A、B、C、D、E.其中90分~100分为A,80分~89分为B,70分~79分为C,60分~69分以下为E.
解命令如下:
clear
s=input(pleaseinputthescore:)
ifs=90s=100
rank=A;
elseifs=80s=89;rank=B;
elseifs=70s=79
rank=C;
elseifs=60s=69
rank=D;
elseifs0s=59
rank=E;
else
rank=wrongscore
end
rank;
例5.12已知函数,求.
解新建函数文件f.m文件,命令如下:
functiony=f(x)
ifx0
y=x^2;
elseifx=0x2
y=exp(x);
else
y=log(x);
end;在命令行窗口分别运行y=f(-1),y=f(1),y=f(4),
y=f(-1)
y=
1
y=f(1)
y=
2.7183
y=f(4)
y=
1.3863
得到;2switch分支结构
switch语句根据变量或表达式的取值不同,分别执行不同的语句.格式为:
switch表达式
case值1
语句组1
case值2
语句组2
……
case值m
语句组m
otherwise
语句组m+1
end;其中分支条件可以是一个函数、变量或表达式.如果条件1与分支条件匹配就执行语句1,退出循环;否则,检验条件2,如果条件2与分支条件匹配执行语句2,退出循环;否则,检验条件3,…,当所有条件都不与分支条件匹配时就执行最后的语句.注意otherwise是可以省略的.;例5.13从键盘输入一个数字,判断它能否被5整除.
解MATLAB命令如下:
n=input(请输入一个数字n=)
switchmod(n,5)
case0
fprintf(n是5的倍数,n)
otherwise
fprintf(n不是5的倍数,n)
end;运行结果为:
请输入一个数字n=36
n=
36
n不是5的倍数;例5.14某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用x来表示):
输入所售商品的价格,求其实际销售价格.
解MATLAB命令如下:
clear
price=input(请输入商品价格:);
switchfix(price/100)
case{0,1};
文档评论(0)