首页/文章/ 详情

MATLAB课程之第三章v3 M文件知识(3)

10月前浏览2964

上堂课讲到了控制结构!

程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环这三种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。百度百科解释的很棒!相信大家在C语言里面已经了解了这些知识,那就在MATLAB中再来一遍吧。再来学习另外一种开关结构!


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

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

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

什么是流程?

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

做个例题吧。

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

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

正确吗?

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

先思考一下!

注意!

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

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

什么是魔方矩阵?

考试时候也许会遇到哦!

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


这个结构用的少!

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

注意!

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

注意!

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

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

示例讲解!

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

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

知识点!

语言比较!

学到这里请同学们再次回顾一下,C语言中如何使用if选择语句和for循环语句的啊?有什么差别呢?大家觉得哪个语言用起来方便呢?这两种语言各有各的应用场合。对于电子、通信类专业,以后在工作中都要用到。建议比较学习,有益于大家编程能力的提高!课后建议大家多编程练习,这样考试的时候就稳如泰山了。

来源:通信工程师专辑
电子MATLAB通信理论控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-12-01
最近编辑:10月前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 388粉丝 2563文章 303课程 39
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈