2.4.1 M文件
MATLAB命令有两种执行方式:一种是交互式的命令执行方式,另一种是M文件的程序执行方式.命令执行方式是在命令窗口逐条输入命令,MATLAB逐条解释执行.这种方式虽然操作简单、直观,但速度慢,执行过程不能保留.当某些操作需反复进行时,更使人感到不便.程序方式是将有关命令编成程序存储在一个文件(称为M文件)中,当运行该程序后,MATLAB就会自动依次执行该文件中的命令,直至全部命令执行完毕.以后需要这些命令时,只需要再次运行该程序.程序执行方式成为实际应用中的重要执行方式.
一、M文件的分类
用MATLAB语言编写的程序,称为M文件.M文件是由若干MATLAB命令组合在一起构成的,它可以完成某些算法.实际上,MATLAB提供的内部函数及各种工具箱,都是利用MATLAB命令开发的M文件.用户也可以结合自己的工作需要,开发具体的程序或工具箱.
通常,M文件可以根据调用方式的不同,分为两类:命令文件(Script File)和函数文件(Function File),它们的扩展名为.m,主要区别在于:
①命令文件没有输入参数,也不返回输出参数,而函数文件可以带输入参数,也可返回输出参数.
②命令文件对MATLAB工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中,而函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量被清除.
③命令文件可以直接运行,在MATLAB命令窗口输入命令文件的名字,就会顺序执行命令文件中的命令,而函数文件不能直接运行,而要以函数调用的方式来调用它.
例2.3 建立一个命令文件,将变量a、b的值互换,然后运行该命令文件.
解:程序1:
首先建立命令文件,并以文件名exch.m保存:
然后在MATLAB的命令窗口中输入exch,将会执行该命令文件,输出为:
调用该命令文件时,不用输入参数,也没有输出参数,文件自身建立需要的变量.当文件执行完毕后,可以用命令whos查看工作空间中的变量.这时会发现a、b、c仍然保留在工作空间中.
程序2:
首先建立函数文件fexch.m:
然后在MATLAB的命令窗口调用该函数文件:
输出结果为:
调用该函数文件时,既有输入参数,又有输出参数.当函数调用完毕后,可以用命令whos查看工作空间中的变量.这时会发现函数参数a、b、c未被保留在工作空间中,而x、y保留在工作空间中.
二、M文件的建立与打开
M文件是一个文本文件,它可以用任何编辑程序来建立和编辑,而一般常用且最为方便的是使用MATLAB提供的文本编辑器.
1.建立新的M文件
为建立新的M文件,启动MATLAB文本编辑器,有两种方法:
①命令按钮操作.从MATLAB主窗口的“Home”或“Editor”工具栏中选择“New”命令按钮下的“Script”,屏幕上将出现MATLAB文本编辑窗口,如图2-4所示.利用它可以完成基本的文本编辑操作,可以在“Editor”工具栏下对M文件进行调试.
图2-4 MATLAB文本编辑器窗口
启动MATLAB文本编辑器后,在文档窗口中输入M文件的内容,输入完毕后,选择“Editor”工具栏下的“Save”或“Save As”命令保存.注意,M文件存放的位置一般是MATLAB默认的工作目录work,当然也可以是别的目录.如果是别的目录,则应该将该目录设定为当前目录或将其加到搜索路径中.
②命令操作.在MATLAB命令窗口输入命令“edit”,启动MATLAB文本编辑器后,输入文件的内容并保存.
2.打开已有的M文件
打开已有的M文件,也用两种方法:
①命令按钮操作.单击MATLAB主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中选择所需打开的M文件.
②命令操作.在MATLAB命令窗口输入命令:edit文件名,则打开指定的M文件.在文档窗口可以对打开的M文件进行编辑修改,编辑完成后,将M文件存盘.