0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MATLAB之switch-case开关结构实例

通信工程师专辑 来源:通信工程师专辑 2023-08-07 09:12 次阅读

程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环这三种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。百度百科解释的很棒!再来学习另外一种开关结构!

d6885216-34be-11ee-9e74-dac502259ad0.png

switch语句用的场合不如if的多!

注意!

开关结构运行时,MATLAB将开关表达式的值依次和各个 case后面的表达式进行比较,如果是“逻辑真”,将执行相应的语句,如果是“逻辑假”,则取下一个 case 后面的表达式进行比较。如果所有 case 后面的语句均与开关表达式的值不相等,则执行 otherwise 后面的指令语句组。

开关表达式的形式有两种:一种是标量;另外一种是字符串。对于字符串形式,MATLAB 在比较时将调用函数 strcmp( ),得出字符串比较的逻辑输出值,MATLAB 根据该逻辑值的真假来判断是否执行该 case 后面的语句。

什么是流程?

流程简单的解释就是指事物进行中的次序或顺序的布置和安排。我们做的很多事情都有一个流程。比如你要到京东买东西就要先登录账号,然后购物,然后提交,再然后进行付费。再比如华为公司使用的BPM。这是一个流程管理软件,先处理什么事情,再处理什么事情,涉及顺序,管理思想等。只有到了一定规模的公司,你才能接触到这个概念。我们先从软件编程的角度出发来理解流程控制内容吧。那什么是流程图呢?学过C语言的同学肯定知道。复杂的编程一定要先画流程图!

做个例题吧。

例四:switch-case开关结构实例。

通过键盘输入百分制成绩,输出成绩的等级,其中90~100分等级为A,80~89分等级为B,70~79分等级为C,60~69分等级为D,60分以下不及格。

d6d9706a-34be-11ee-9e74-dac502259ad0.png

正确吗?

如果不正确,应该如何改呢?

先思考一下!

d70fde2a-34be-11ee-9e74-dac502259ad0.png

d74a52bc-34be-11ee-9e74-dac502259ad0.png

注意!

试探结构首先试探性的执行指令语句组 1,如果在此语句组执行过程中出现错误,则将错误信息给保留的 lasterr 变量,并放弃这组语句,转而执行语句组 2 中的语句。

若语句 2 执行过程中又出现错误,则 MATLAB 终止该结构。

d780dcf6-34be-11ee-9e74-dac502259ad0.png

什么是魔方矩阵?

考试时候也许会遇到哦!

如何生成呢?magic函数可以来帮忙!魔方矩阵是指具有相同的行数和列数,并且在每行每列、对角线上的和都相等的矩阵。魔方矩阵中的每个元素不能相同。你能构造出任何大小(除了2x2)的魔方矩阵。

d7bb0642-34be-11ee-9e74-dac502259ad0.png

这个结构用的少!

而下面的结构几乎无处不在!

d7e271dc-34be-11ee-9e74-dac502259ad0.png

注意!

”表达式“可以是 MATLAB 指令产生的数组,也可以是任意给定的一个数组。循环变量从”表达式“中的第一个数值(或第一列数组)一直循环到”表达式“的最后一个数值(或最后一列数组)。

d7f6b2be-34be-11ee-9e74-dac502259ad0.png

d82d0472-34be-11ee-9e74-dac502259ad0.png

d85550e4-34be-11ee-9e74-dac502259ad0.png

注意!

执行时,只要逻辑表达式为”逻辑真“(非 0),就执行指令语句组,执行后再返回到 while 引导的逻辑表达式处,继续判断;如果逻辑表达式为”逻辑假“,则跳出循环。

通常,逻辑表达式的值为一个标量,但数组也同样有效。

示例讲解!

例七:运用 while……end循环结构实现:从键盘输入若干个数,当输入数字为零时,结束输入。求这些数字的平均值以及它们的和。

d8958f06-34be-11ee-9e74-dac502259ad0.png

d8b34a6e-34be-11ee-9e74-dac502259ad0.png

d8e0f108-34be-11ee-9e74-dac502259ad0.png

如果你熟悉C语言的语法知识,那么掌握这些就易如反掌!如果忘记了,可以通过互联网来回顾!如果没有学过C语言,那么就需要在MATLAB相关书籍中学习相关内容。继续通过示例来了解这两个语句的用法吧。

d8fdf80c-34be-11ee-9e74-dac502259ad0.png

知识点!

d93e5492-34be-11ee-9e74-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    185

    文章

    2974

    浏览量

    230400
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136705
  • MATLAB仿真
    +关注

    关注

    4

    文章

    176

    浏览量

    19922

原文标题:MATLAB课程之第三章v2 M文件知识(3)

文章出处:【微信号:gh_30373fc74387,微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    状态机编程实例-嵌套switch-case

    嵌入式软件开发中,状态机编程是一个比较实用的代码实现方式,特别适用于事件驱动的系统。本篇,以一个炸弹拆除的小游戏为例,介绍状态机编程的思路。
    的头像 发表于 06-15 09:01 1770次阅读
    状态机编程<b class='flag-5'>实例</b>-嵌套<b class='flag-5'>switch-case</b>法

    #simulink 11.13 switch switch-case子系统

    matlabEDA工具仿真Simulink
    虎哥电子
    发布于 :2022年07月22日 11:42:30

    【DOC】MATLAB程序实例遗传算法

    【DOC】MATLAB程序实例遗传算法附件:
    发表于 02-28 11:11

    C语言switch case怎么执行

    switch(temp){case a: for(i=0;i
    发表于 03-22 07:27

    JavaScript 【5】switch语句

    运行。实例显示今天的星期名称。请注意 Sunday=0, Monday=1, Tuesday=2, 等等:var d=new Date().getDay(); switch (d) { case 0
    发表于 07-17 10:40

    matlab实例教程下载

    matlab实例教程    本书介绍了MATLAB一般原理和基本运算,重点介绍了MATLAB图形用户界面的结构
    发表于 06-18 14:26 620次下载
    <b class='flag-5'>matlab</b><b class='flag-5'>实例</b>教程下载

    PCB设计实例开关电源

    PCB设计实例开关电源,很实用的资料,感兴趣的可以看看。
    发表于 09-19 16:57 0次下载

    EMC设计工程实例——开关电源设计

    EMC设计工程实例——开关电源设计
    发表于 01-14 12:22 85次下载

    C语言教程之选择结构程序设计资料概述和设计实例免费下载

    本文档的主要内容详细介绍的是C语言教程之选择结构程序设计资料概述和设计实例免费下载包括了:1.if条件分支结构2.switch-case开关
    发表于 09-19 17:21 8次下载
    C语言教程之选择<b class='flag-5'>结构</b>程序设计资料概述和设计<b class='flag-5'>实例</b>免费下载

    MATLAB教程之MATLAB程序设计基础概述

    本文档的主要内容详细介绍的是MATLAB教程之MATLAB程序设计基础概述主要内容包括了:1For循环,2While 循环,3If-else-End 结构,4switch 分支
    发表于 01-04 14:55 0次下载
    <b class='flag-5'>MATLAB</b>教程之<b class='flag-5'>MATLAB</b>程序设计基础概述

    C语言的switch case多分支选择语句的详细资料说明

    1、switch-case开关语句是一种多分支选择语句,用来实现多方向条件分支。虽然采用if-else条件判断语句也可以实现多方向条件分支,但是当分支较多时,使用if-else条件语句的嵌套层次会
    发表于 07-12 17:39 1次下载
    C语言的<b class='flag-5'>switch</b> <b class='flag-5'>case</b>多分支选择语句的详细资料说明

    Switch case中的case顺序

    Switch case中的case顺序 Switch 可能转化成多种不同算法的代码。其中最常见的是跳转表和比较链/树。当switch用比较链
    的头像 发表于 11-20 18:16 827次阅读

    java switch case的语法规则

    在Java中,switch case语句是一种用于多分支选择的控制流语句。它允许根据某个表达式的值来执行不同的代码块。下面是关于switch case语法规则的详细解释。 基本语法
    的头像 发表于 11-30 14:40 2290次阅读

    java switch case值能为枚举值吗

    Java中的switch语句可以接受枚举类型的值作为参数。在Java中,枚举是一种特殊的数据类型,它定义了一个固定数量的命名常量。因此,可以将枚举值作为switch语句的case。 首先,让我们来看
    的头像 发表于 11-30 14:41 5341次阅读

    java中的switch语句 case的取值

    Java中的switch语句是一种用于多重条件判断的语句,用于根据不同的条件执行不同的代码块。在switch语句中,case关键字用来指定不同的取值。 在Java中,switch语句的
    的头像 发表于 11-30 16:05 1138次阅读