Matlab编程资源库(1)选择结构

一、if语句

MATLAB 中, if 语句有 3 种格式。
(1) 单分支 if 语句:
if 条件
语句组
end
当条件成立时,则执行语句组,执行完之后, 继续执行 if 语句的后继语句,若条件不成 立,则直接执行 if 语句的后继语句。
(2) 双分支 if 语句:
if 条件
语句组 1
else
语句组 2
end
当条件成立时,执行语句组 1 ,否则执行语 句组 2 ,语句组 1 或语句组 2 执行后,再执行 if 语句的后继语句。
(3) 多分支if 语句:
if 条件 1
语句组 1
elseif 条件 2
语句组 2
……
elseif 条件 m
语句组 m
else
语句组 n
end
语句用于实现多分支选择结构。
3-4 计算分段函数的值。
程序如下:
x=input('请输入x的值:');
if x<=0
y= (x+sqrt(pi))/exp(2);
else
y=log(x+sqrt(1+x*x))/2;
end
Y

 运行结果 :

3-5 输入一个字符,若为大写字母,则输出其对 应的小写字母;若为小写字母,则输出其对应的
大写字母;若为数字字符则输出其对应的数值, 若为其他字符则原样输出。
c=input('请输入一个字符','s');
if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A')));
elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A')));
elseif c>='0'& c<='9'
disp(abs(c)-abs('0'));
else
disp(c);
end

执行结果:

二、switch语句

switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式为:

switch 表达式

case 表达式1

语句组1

case 表达式2

语句组2

……

case 表达式m

语句组m

otherwise

语句组n

end

       当表达式的值等于表达式1的值时,执行语句组1,当表达式的值等于表达式2的值时,执行语句组2 , …,当表达式的值等于表达式m的值时,执行语句组m,当表达式的值不等于case所列的表达式的值时,执行语句组n。当任意一个分支的语句执行完后,直接执行switch语句的下一句。 

3-6 某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示)

price<200 没有折扣

200price<500 3%折扣

500price<1000 5%折扣

1000price<2500 8%折扣

2500price<5000 10%折扣

5000price 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 。

3-7 矩阵乘法运算要求两矩阵的维数相容,否则会出错。先求两矩阵的乘积,若出错,则自动转

去求两矩阵的点乘。

程序如下:

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 %显示出错原因

运行结果 :

 

 结语 

世上没有绝望的处境

只有对处境绝望的人

!!!

相关推荐

  1. 近期学习总结(1)!!!选择结构程序~

    2024-07-23 07:50:01       28 阅读
  2. Linux编程 1/2 数据结构

    2024-07-23 07:50:01       50 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 07:50:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 07:50:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 07:50:01       45 阅读
  4. Python语言-面向对象

    2024-07-23 07:50:01       55 阅读

热门阅读

  1. 释放分布式系统潜能:Mojo模型的集成与应用

    2024-07-23 07:50:01       16 阅读
  2. 精准控制构建流程:Gradle中onlyIf条件的高级应用

    2024-07-23 07:50:01       16 阅读
  3. github搜索指令

    2024-07-23 07:50:01       17 阅读
  4. Oracle(18)什么是序列(Sequence)?

    2024-07-23 07:50:01       16 阅读
  5. 【git】github中的Pull Request是什么

    2024-07-23 07:50:01       15 阅读
  6. AI学习指南机器学习篇-SOM的进化与改进

    2024-07-23 07:50:01       17 阅读