006.MATLAB中的条件语句
文章目录
- 006.MATLAB中的条件语句
- 一、单分支if条件语句
- 二、双分支if条件语句
- 三、多分支if条件语句
- 四、switch语句
- 五、try语句
选择结构是根据给定的条件成立或不成立,分别执行不同的语句。
MATLAB 用于实现选择结构的语句有** if语句、switch语句和try语句**。
if语句有单分支,双分支,多分枝3种格式。
switch 语句和try语句格式比较固定
一、单分支if条件语句
格式:
if
逻辑表达式
程序语句组
end
例子:
当从键盘输入自变量x的值,由分段函数给出y值.
y=x +1, x > 0;y=x2+2,x<0或x=0.
x=input('x=');
if x>0
y=x + 1;
end
if x<0 || x ==0
y=x^2+2;
end
y可以将其编辑成函数文件
function y=hs(x)
if x>0
...
二、双分支if条件语句
格式:
if
逻辑表达式
程序语句组1
else
程序语句组2
end
三、多分支if条件语句
四、switch语句
格式:
switch 表达式
case 表达式1
语句组1
case 表达式2
语句组2
…
case 表达式m
语句组m
otherwise
语句组n
end
例子:
某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示)
price<200没有折扣
200<price<5003%折扣
500<price<10005%折扣
1000<price<25008%折扣
2500<price 10%折扣
输入所售商品的价格,求其实际销售价格.
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;
otherwise %价格大于等于2500
rate=10/100;
end
price=price*(1-rate)%输出商品实际销售价格
五、try语句
格式:
try
语句组1
catch
语句组2
end
例子:
矩阵乘法运算要求两矩阵的维数相容,否则会出错.先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘.
A=[1,2,3;4,5,6];B=[7,8,9;10,11,12];
try
C=A*B;
catch
C=A.*B;
end
lasterr %显示出错原因