- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲;一、单条件语句;例1: 当从键盘输入自变量x的值,由分段函数;格式2:
if 逻辑表达式
程序语句组1
else
程序语句组2
end; 例2: 计算分段函数的值.
程序如下:
x=input(请输入x的值:);
if x=0
y= (x+sqrt(pi))/exp(2);
else
y=log(x+sqrt(1+x*x))/2;
end
x,y;例3:当从键盘输入自变量x的值,由分段函数;【例】 输入三角形的三条边,求面积.;二、多条件语句;例4:当从键盘输入自变量x的值,由分段函数; switch语句
switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为:
switch 表达式
case 表达式1
语句组1
case 表达式2
语句组2
……
case 表达式m
语句组m
otherwise
语句组n
end; 当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2,…,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n.当任意一个分支的语句执行完后,直接执行switch语句的下一句.;例5: 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price200 没有折扣
200≤price500 3%折扣
500≤price1000 5%折扣
1000≤price2500 8%折扣
2500≤price5000 10%折扣
5000≤price 14%折扣
输入所售商品的价格,求其实际销售价格.; 程序如下:
price=input(请输入商品价格);
switch fix(price/100)
case {0,1} %价格小于200
rate=0;
case {2,3,4} %价格大于等于200但小于500
rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000
rate=5/100;
case num2cell(10:24) %价格大于等于1000但小于2500
rate=8/100;
case num2cell(25:49) %价格大于等于2500但小于5000
rate=10/100;
otherwise %价格大于等于5000
rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格;try语句
语句格式为:
try
语句组1
catch
语句组2
end
try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2.;例6: 矩阵乘法运算要求两矩阵的维数相容,否则会出错.先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘.
程序如下:
A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
end
C
lasterr %显示出错原因;循 环 语 句;例7: 编程生成一个6阶矩阵,使其主对角线相邻上元素皆为1,与主对角线相邻元素皆为2,其余元素皆为0.;关于For 循环的说明:;2. 语句1 :10 是一个标准的MATLAB 数组创建语句.在For 循环内接受任何有效的MATLAB 数组.
? data=[3 9 45 6; 7 16 -1 5]
data =
3 9 45 6
7 16 -1 5
for n=data
x=n(1)-n(2)
end
x =-4
x =-7
x =46
x =1;3. For 循环可按需要嵌套.
例:利用for循环求1!
文档评论(0)