当前位置:   article > 正文

五、MATLAB入门—程序设计_matlab程序

matlab程序

文章目录

前言

一、M文件

1.1、M文件概述

1.2、M文件的建立与打开

二、程序控制结构

2.1、顺序控制结构

2.2、选择结构

2.3、循环结构

三、函数文件

3.1、函数文件

3.2、函数调用

3.3、全局变量和局部变量

总结


前言

        经过前面一段时间对MATLAB的学习,了解了MATLAB的运行环境、安装与使用、帮助系统,以及MATALB数组、向量和矩阵的生成与基本运算等,接下来就可以利用MATLAB来进行程序设计了,学习MATLAB程序设计的方法以及注意事项,在一个个小程序设计中提升自我。

        MATLAB程序设计既有传统高级语言的特征,又有自己独特的优点。在MATLAB程序设计中,要充分利用MATLAB数据结构的特点,可以使程序结构简单,编程效率高,提升我们的工作效率!


一、M文件

1.1、M文件概述

        M文件即利用MATLAB编写的程序文件,M文件是由若干个MATLAB命令组合在一起构成的,它可以完成某些特定的操作,也可以实现某种算法。M文件不仅可以完成编写的功能及算法,也可以调用MATLAB内封装完成的工具箱,来达到程序设计的目的。

在MATLAB程序设计中,M文件通常可以分为命令文件和函数文件:

        ① 命令文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可以返回输出参数;

        ② 命令文件对MATLAB工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中,而函数文件中定义的变量为局部变量,当函数文件执行完毕后,这些变量也将被清除;

        ③ 命令文件可以直接运行,在MATLAB命令窗口输入命令文件的名字,就会顺序执行命令文件中的命令,而函数文件不能直接运行,而要以函数调用的方式运行。

1.2、M文件的建立与打开

        M文件就相当于一个文本文件,它不仅可以在MATLAB上编辑,也可以使用其他编辑器进行编辑修改,但是这里个人建议还是使用MATLAB自带的文本编辑器,这样对我们学习使用MATLAB也更有益处。

在MATLAB中,建立M文件有两种方法:

        ① 通过MATLAB左上角的菜单栏进行操作,点击新建脚本文件,屏幕上就会出现MATLAB的文本编辑器窗口,在该窗口输入我们的程序内容,点击保存,保存文件的后缀名是.m的文件,这就表示一个M文件建立完成;

        ② 通过命令建立M文件,在MATLAB命令行窗口输入edit命令,即可产生MATLAB的文本编辑器窗口,保存过后后缀为.m的文件即可;

M文件的打开也有三种方式:

        ① 通过菜单操作打开M文件,从MATLAB主窗口的菜单中找到Open命令,在屏幕弹出的对话框中找到需要打开的M文件即可;

        ② 通过命令打开M文件,在MATLAB的命令行窗口输入命令edit 文件名,即可打开所需M文件;

        ③ 将MATLAB路径定位到M文件保存的路径下,点击当前文件夹下需要打开的M文件,此时M文件就会出现在文本编辑器当中。

二、程序控制结构

        在MATLAB程序设计中,共有3中程序控制结构,无论再复杂的程序都可以由这3种基本的结构构成,这3种程序控制结构就是顺序结构、选择结构和循环结构。

2.1、顺序控制结构

        顾名思义,顺序结构就是按照程序中的语句排列顺序依次执行,直到程序的最后一个语句。这是最简单的一种控制结构,一般会涉及到数据的输入、数据的计算处理以及数据输出等内容。

① 数据的输入:在MATLAB中,数据的输入可以用input函数来进行,该函数的调用格式为:

                input(提示信号,选项);

        这里的提示信息为一个字符串,目的是为了提示用户输入什么样的数据信息,如请输入一个3行3列的矩阵等等;选项则是用户输入的信息,允许用户输入一个字符串,例如3行3列的矩阵。

② 数据的处理:数据的处理即数组、向量或者矩阵的变换、基本的数学运算等。

③ 数据的输出:在MATLAB中,数据的输出函数有disp和fprintf两种,这两种函数的格式为:

                disp(输出项);   fprintf('输出形式‘,输出项);

        对于disp函数来说,输出项可以为字符串,也可以是矩阵。对于fprintf函数来说,输出形式有%f(浮点数)、%d(科学计数法)、%c(字符串)等。

         上图这个例子就很好地说明了我们的数据输入、数据处理以及数据输出的内容,根据上面的例子,输入函数input赋值给圆的半径radius,然后根据圆的面积公式进行数据处理,计算除圆的面积,然后再用disp和fprintf函数对计算结果进行输出。当运行该程序时,命令行窗口会提示你输入圆的半径信息,我这里输入的半径是5,回车后就会输出圆的面积数据,这里是用两个函数都返回了圆的面积数据。

2.2、选择结构

        选择结构是根据给定的条件是否满足为依据的,分别执行不同的语句。MATLAB中用于实现选择控制语句的有if语句、switch语句。

① if语句:if语句是一个条件分支语句,若满足表达式的条件,则往下继续执行;若不满足条件,则跳出if结构。else if表达式与else为可选项,这两条语句可根据具体情况有所取舍。另外要注意的是每一个if都对应一个end,即有几个if,就要有几个end。

if语句语法:        if        表达式 1

                                    语句 1

                            else  if  表达式 2 

                                    语句 2

                            else  

                                    语句 3

                            end

                            end

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

        switch   表达式

                case        表达式  1

                        语句 1

                case        表达式  2

                        语句  2

                        ......

                case        表达式  m

                        语句  m

                otherwise

                        语句  n

                end

        switch语句的执行过程如上所示,当表达式的值等于表达式1的值时,执行语句1,当表达式的值等于表达式2的值时,执行语句2,以此类推;如果表达式的值不等于任何一个case的值时,则执行otherwise后面的语句n,跳出switch语句。

        如上图是利用switch语句选择商品售价范围,这时我们兜里只有500元,当商品售价低于200元时,返回0,说明我们买起来不心疼;当商品售价在200到500元时,返回1,买起来肉疼;当商品售价大于500元时,返回无穷大,买不起,根本买不起啊!这就好理解多了噻!

2.3、循环结构

        循环结构是指按照给定的条件,当条件一直满足时,重复执行指定的语句,当条件不满足时,跳出该循环结构。MATLAB提供了两种实现循环结构的语句,即for循环语句和while循环语句。

① for循环语句:for语句的格式为:

                for 循环变量=表达式1:表达式2:表达式3

                        循环体语句

                end

        其中表达式1的值为循环变量的初始值,表达式2为步长(当步长为1时,表达式2可以省略),表达式3为循环变量的终值;for循环语句的执行过程是首先计算3个表达式的值,再将表达式1的值赋值给循环变量,如果此时循环变量的值介于表达式1和表达式3之间,则执行循环体语句,否则结束循环的执行。

② while语句:while语句的格式为:

                while(条件)

                        循环体语句

                end

        其执行过程为,若条件成立,则执行循环体语句,执行后再继续判断条件是否成立,如果仍然成立,则继续循环,如果不成立,则跳出循环。

③ break语句和continue语句:这两个语句也是与循环密切相关的语句,它们一般都是与if语句配合使用。break语句用于终止循环的执行,continue语句控制跳过循环体中的某些语句。

④ 循环的嵌套:如果一个循环结构中有包含另一个循环结构时,就叫做循环的嵌套。在循环的嵌套结构中,仍然可以应用前面介绍的3种循环语句,在设计多重循环嵌套结构时,要特别注意内、外循环之间的关系,以及各种语句放置的位置,否则会使设计出来的循环结构发生错误!

        啥也别说了,直接上例子吧!!!

三、函数文件

        函数文件是另一种形式的M文件,每一个函数文件都定义一个函数,实际上MATLAB中提供的标准函数大部分都是由函数文件定义的。

3.1、函数文件

函数文件的基本结构为:

                  function 输出形参表=函数名(输入形参表)

                  注释说明部分

                  函数主体语句

        函数文件都是由function语句引导,函数文件名通常由函数名再加上拓展名.m组成,函数名的命名规则与变量名相同。函数文件名与函数名可以不相同,当两者不相同时,MATLAB会忽略函数名而直接调用函数文件名,为了避免发生错误,最好将函数名和函数文件名统一。

3.2、函数调用

        函数文件编制好后,就可以调用其函数进行计算了。

函数调用的一般格式为:

                        [输出实参表] = 函数名(输入实参表)

        函数调用需要注意的是,在调用时各实参出现的顺序、个数要与函数定义时形参的顺序、个数对齐,否则会出现错误。函数调用时,先将实参传递给相应的形参,从而实现参数传递,然后再执行函数的功能。并且在MATLAB中,函数可以实现嵌套调用,即一个函数可以调用其他函数,也可以实现自身调用,这叫做递归函数。

3.3、全局变量和局部变量

        在MATLAB中,函数文件中的变量是局部的,与其他函数文件及MATLAB工作空间相互隔离,即在一个函数文件中定义的变量不能被另一个函数文件引用。如果在若干个函数中,都把某一个变量定义为全局变量,那么这些函数将公用这一个变量。全局变量的作用范围是整个MATLAB工作空间,所有的函数都可以对它进行存取和修改。

全局变量定义格式为:

                global  变量名

        值得注意的是,全局变量虽然可以很方便的使用,但对我们程序的可读性产生了一些影响,破坏了函数对变量的封装。所以还是最好少使用全局变量吧,实在要用,取一个见名知意的名字较好,以免混淆!


总结

        今天学习了利用MATLAB来进行程序设计,把程序设计的流程以及设计方法都理论性地学习了一遍,下一次就用几个例题来巩固前面所学的内容了,这样才能加深印象嘛!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/561628
推荐阅读
相关标签
  

闽ICP备14008679号