matlab的if,switch和try语句的用法举例

if语句

1.计算分段函数的值

 (1)采用双分支结构来实现,程序如下:

%if语句双分支结构
x=input('请输入x的值:');
if x==10
    y=cos(x+1)+sqrt(x.^2+1);
else 
    y=x*sqrt(x+sqrt(x));
end
y
(2)采用单分支if语句来实现,程序如下:

%if语句单分支结构
x=input('请输入x的值:');
if x==10
    y=cos(x+1)+sqrt(x*x+1);
end
if x~=10
    y=x*sqrt(x+sqrt(x));
end
y
(3)可以不用第一个if语句,直接求函数值。程序如下:

%第一个不用if直接求函数值
x=input('请输入x的值:');
y=cos(x+1)+sqrt(x*x+1);
if x~=10
    y=x*sqrt(x+sqrt(x));
end
y

2.输入一个字符,若为大写字母,则输出其对应的小字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应数的平方,若为其他字符则输出原样。

解析:可能会用到的函数有:

           lower函数:将大写字母转换成相应的小写字母;

           upper函数:将小写字母转换成相应的大写字母;

           str2double函数:将字符串转换为数值;

代码如下:

c=input('请输入一个字符:','s');
if c>='A' && c<='Z'
    disp(lower(c));
elseif c>='a' && c<='z'
    disp(upper(c));
elseif c>='0' && c<='9'
    disp(str2double(c).^2);
else disp(c)
end

switch语句

1.某商场对商品进行打折销售,标准如下(商品价格用price表示)

程序代码如下:

price=input('请输入商品价格');
switch fix(price/100) %fix()函数向零方向取整
    case{0,1}
        rate=0;
    case{2,3,4}
        rate=3/100;
    case num2cell(5:9)
        rate=5/100;
    case num2cell(10:24)
        rate=8/100;
    case num2cell(25:49)
        rate=10/100
    otherwise
        rate=14/100;
end
price=price*(1-rate)

try语句 

1.矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则提示错误信息。

程序如下:

A=input('请输入A矩阵');
B=input('请输入B矩阵');
try
    C=A*B
catch
    lasterr
end

程序结果:

>> try_
请输入A矩阵[1,2,3,4;5,6,7,8;9,10,11,12]
请输入B矩阵[1,2,3;4,5,6;7,8,9;10,11,12]

C =

    70    80    90
   158   184   210
   246   288   330

>> try_
请输入A矩阵[1,2,3;4,5,6] 
请输入B矩阵[2,3,4;5,6,7] 

ans =

    '错误使用  * 
     用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 '.*'。'

  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值