第4章 MATLAB编程基础
知识要点
本章对MATLAB平台上的基本编程进行讲解与分析,涉及的新概念有:M文件编辑器、控制流、脚本、函数、局部变量、全局变量、子函数、私有函数、重载函数、eval和feval函数、内联函数和P码文件等,还涉及MATLAB编程中的向量化、预分配、变量的检测与传递等。针对每一部分都有相应的示例与讲解相配合,以使读者对这些抽象概念能够真正理解和掌握,并且体会到面向对象编程的优越性和重要性。
学习要求
4.1 M文件编辑器
在前面几个章节的示例中,全部采用在MATLAB界面的命令行窗口中的MATLAB提示符下输入指令并运行的方式。然而当需要完成的运算比较复杂,需要几十行甚至成百上千行指令来完成时,命令行窗口就不再适用了。
为了代替在命令行窗口中输入MATLAB指令的语句,MATLAB平台上提供了一个文本文件编辑器,用来创建一个M文件来写入这些指令。M文件的扩展名为.m。一个M文件包含许多连续的MATLAB指令,这些指令完成的操作可以是引用其他的M文件,也可以是引用自身文件,还可以进行循环和递归等。
(1)创建新的M文件,启动M文件编辑器的操作方法如下:
①在MATLAB命令行窗口中运行指令edit。
②单击MATLAB“主页”选项卡→“文件”面板→“新建脚本”按钮。
③选择MATLAB“主页”选项卡→“文件”面板→“新建”按钮下面的脚本。
④使用快捷键Ctrl+N。
启动M文件编辑器后,MATLAB主界面增加了“编辑器”“发布”“视图”3个选项卡,主界面会主动切换到新出现的“编辑器”选项卡,如图4-1所示。
图4-1 “编辑器”选项卡
(2)打开已有的M文件的操作方法如下:
①在MATLAB命令行窗口中运行指令edit filename。其中,filename是已有的文件名,可以不带扩展名,文件名也可以省略不写。
②单击主界面中的“主页”选项卡或新出现的“编辑器”选项卡→“文件”面板→“打开”按钮,再根据弹出对话框中的提示选择已有的M文件。
(3)经过修改的M文件的保存方法如下:
①在M文件编辑器状态下,单击“编辑器”选项卡→“文件”面板→“保存”按钮。若已有此M文件,则保存操作完成;若为新的M文件,则会弹出对话框,需要选择存放目录和文件名,才能完成M文件的保存。
②使用快捷键Ctrl+S。
每当用户输入这个文件名的自变量时,MATLAB就会执行文件中的所有指令。在这个过程中,MATLAB从文件而不是从终端读取命令,当文件中最后一条命令被执行时,MATLAB再从终端读取命令。
(4)运行M文件的方法如下:
①单击“运行”面板中的“运行”按钮运行该M文件,即可在命令行窗口中得到结果。
②在命令行窗口中输入e运行该M文件。
在读取文件时,MATLAB将首先在当前工作文件夹下寻找此文件,如果它不在当前文件夹下,则在该路径下的所有目录中搜索。该路径保存在MATLAB path(参见表4-1)中。
注意:如果想执行一个没有放在可以自动搜索处的文件,则可以单击M文件编辑器界面中的“运行”按钮。
在MATLAB的工具库中有大量的预定义M文件,这些文件一般会在安装MATLAB软件时直接被存放在安装目录中,可以使用命令what列出由用户定义的和在MATLAB目录中存放的M文件。
关于M文件编辑器和M文件,MATLAB中提供了大量操作和控制指令,如表4-1与表4-2所示。
表4-1 MATLAB文件操作指令集
续表
表4-2 MATLAB文件流控制指令集