当前位置: 首页 > article >正文

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


http://www.kler.cn/a/292467.html

相关文章:

  • Linux 实现自动登陆远程机器
  • RabbitMQ 篇-深入了解延迟消息、MQ 可靠性(生产者可靠性、MQ 可靠性、消费者可靠性)
  • SQL面试题——蚂蚁SQL面试题 会话分组问题
  • 试编写算法将单链表就地逆置(默认是带头节 点,如果是不带头节点地逆置呢?)
  • 基于Python 和 pyecharts 制作招聘数据可视化分析大屏
  • 有了Makefile, CMake存在的意义是什么?如何借助Makefile构建ObjC语言编译环境?如何获取编译器的版本号?
  • C语言:基本数据类型 char, short int, int
  • 使用 fetch() 函数和 Response 对象的示例,创建一个新的 Response 对象来模拟一个自定义响应
  • 深入解析 Node.js 核心模块与异步编程:高效构建现代服务器应用
  • 【TS高频面试题】interface与type的区别
  • 【原创】java+springboot+mysql企业产品销售管理系统设计与实现
  • 空间数据库
  • 新书分享|ChatGLM3大模型本地化部署、应用开发与微调(附PDF)
  • 打卡第五十七天:prim与kruskal算法
  • 人生苦短我用Python excel转csv
  • 麒麟安全加固工具,为系统打造坚固“金钟罩”!
  • 微软云技术深度解析与代码使用案例
  • Python 人脸识别实战教程
  • Qt:玩转QPainter后转之太极图(步骤详细、包含源码)
  • 软件开发专用术语介绍
  • HTML元素拓展:data-*属性的应用与实践
  • 国产芯片LT6911UXE/C:HDMI 2.0转MIPI DSI/CSI转换器,4K超清
  • 【数据结构-二维前缀和】【列维护优化】力扣3212. 统计 X 和 Y 频数相等的子矩阵数量
  • EmguCV学习笔记 VB.Net 9.2 VideoWriter类
  • 谷歌seo网址如何快速被收录?
  • 大模型笔记01--基于ollama和open-webui快速部署chatgpt