Day12_0.1基础学习MATLAB学习小技巧总结(12)——程序流程控制3-switch结构

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍,为了在这个过程中加深印象,也为了能够有所足迹,我会把自己的学习总结发在专栏中,以便学习交流。

素材来源“数学建模清风”

特此说明:本博客的内容只在于总结在使用matlab中的一些小技巧,并非教程,若想系统的学习MATLAB,也可以移步去链接中的视频,观看学习。也欢迎各位在留言区补充,纠错,讨论。

原素材和学习视频地址:MATLAB教程新手入门篇(上部分)(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili

补:switch结构

除了选择使用 if、elseif和 else 命令之外,用户还可以使用 switch 结构。使用 switch结构编写的任何程序也都可以使用f结构进行编写。但是,对于一些应用来说,用switch结构编写的代码可读性比使用f结构编写的代码可读性要好。switch结构的语法是:

switch 输入表达式(标量或字符串)
  case 值1
    语句组 1
  case 值2
    语句组 2
.
.
.
  otherwise
    语句组n
end

在 MATLAB 中,输入的表达式会与每个 case 值进行比较。如果它们相等,则执行紧随 case 语句之后的指令,然后程序继续执行 end 语句之后的任何指令。如果输入表达式是字符串类型,且 strcmp 函数返回 1(即 true),则表示它与 case 值相等。程序只会执行第一个匹配的 case。如果没有任何 case 匹配,程序将仅执行 otherwise 语句之后的指令。需要注意的是,otherwise 语句是可选的,如果没有提供该语句,程序将在没有匹配的情况下继续执行 end 语句之后的指令。每个 case 值必须单独占据一行。

例如,假设变量 angle 存储一个整数值,该值表示从正北方向开始测量的角度(单位为度)。以下的 switch 结构展示了与某个角度对应的指南针方向。

switch angle
  case 45
    disp('Northeast')
  case 135
    disp('Southeast')
  case 225
    disp('Southwest’)
  case 315
    disp('Northwest')
  otherwise
    disp('Direction Unknown')
end

使用字符串变量作为输入表达式通常可以提高程序的可读性。

例如,在以下代码中,数值向量 x 已被赋值,而用户输入的字符串变量 response 的值可以是 min、max 或 sum。接着,代码会根据用户的输入计算出 x 中的最大值、最小值或所有元素的总和。

t=[0:100]; x= exp(-t).*sin(t);
response = input('Type min, max, or sum.','s’)
response = lower('response’);
switch response
  case min
    minimum = min(x)
  case maX
    maximum = max(x)
  case sum
    total = sum(x)
  otherwise
    disp("You have not entered a proper choice.’)
end

通过将 case 值放入一个单元数组中,switch语句就可以在一条 case 语句中处理多个条件。

例如,以下 switch 结构显示了指南针上那些对于固定从北方开始测量的整数角度的对应点。

switch angle
  case {0,360}
    disp('North’)
  case {-180,180}
    disp('South’)
  case {-270,90}
    disp('East')
  case {-90,270}
    disp("West')
  otherwise
    disp(Direction Unknown')
end

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值