3.2 M文件

MATLAB命令有两种执行方式:命令执行方式和M文件执行方式。命令执行方式是在命令窗口逐条输入命令,逐条解释执行。这种方式操作简单直观,但速度慢,命令语句保留,不便于今后查看和调用。M文件执行方式是将命令语句编成程序存储在一个文件中,扩展名为.m(称为M文件)。当运行程序文件后,MATLAB依次执行该文件中的所有命令,运行结果或错误信息会在命令空间显示。这种方式编程方便,便于今后查看和调用,适用于复杂问题的编程。

3.2.1 M文件的分类和特点

MATLAB R2016a编写的M文件有两种:M脚本文件(Script File)和M函数文件(Function File)。M脚本文件一般由若干MATLAB命令和函数组合在一起,可以完成某些操作,实现特定功能。M函数文件是为了完成某个任务,将文件定义成一个函数。实际上,MATLAB提供各种函数和工具箱都是利用MATLAB命令开发的M文件。这两种文件都可以用M文件编辑器(Editor)来编辑,它们的扩展名均为m。两种文件的主要区别是:

(1)M脚本文件按照命令先后顺序编写,而M函数文件第一行必须是以function开头的函数声明行;

(2)M脚本文件没有输入参数,也不返回输出参数,而M函数文件可以带有输入参数和返回输出参数;

(3)M脚本文件执行完后,变量结果返回到工作空间,而函数文件定义的变量为局部变量,当函数文件执行完,这些变量不会存在工作空间;

(4)M脚本文件可以按照程序中命令的先后顺序直接运行,而函数文件一般不能直接运行,需要定义输入参数,使用函数调用的方式来调用它。

【例3-13】 建立一个M脚本文件,已知圆的半径,求圆的周长和面积。

在文件编辑窗口编写命令文件,保存为exam_3_13.m脚本文件。

在命令空间输入文件名exam_3_13.m,就能直接运行该脚本文件。结果如下:

调用脚本文件不需要输入参数,也没有返回输出参数,文件自身创建的变量S、P保存在变量空间中,可以用whos命令查看。

【例3-14】 建立一个M函数文件,已知圆的半径,求圆的周长和面积。

在文件编辑窗口编写函数文件,保存为fexam_3_13.m脚本文件。

在命令空间调用该函数fexam_3_13.m,结果如下:

调用该函数文件,既有输入参数r,又有返回输出参数X、Y。用whos命令查看工作空间中的变量,函数文件里的参数S和P未保存在工作空间中。

3.2.2 M文件的创建和打开

1.创建新的M文件

M文件可以用MATLAB文件编辑器来创建。

1)创建M脚本文件

创建M脚本文件,可以从MATLAB主窗口的主页下,单击“新建脚本”,或者选择“新建菜单”,再选择“脚本”,就能打开脚本文件编辑器窗口,如图3-8左边的窗口所示。

2)创建M函数文件

创建M函数文件,可以从MATLAB主窗口的主页下,选择“新建菜单”,再选择“函数”,就能打开函数文件编辑器窗口,如图3-8右边的窗口所示。新建的M函数文件Untitled3.m有关键字function和end,具体格式在3.3节详细介绍。

在文档窗口输入M文件的命令语句,输入完毕后,选择编辑窗口“保存”或者“另存为”命令保存文件。M文件一般默认存放在MATLAB的Bin目录中,如果存在别的目录,运行该M文件时,应该选择“更改文件夹”选项或者“添加到路径”选项。

另外,创建M文件,还可以在MATLAB命令窗口输入命令edit,启动MATLAB文件编辑窗口,输入文件内容后保存。

图3-8 创建M脚本文件窗口

2.打开已创建的M文件

在MATLAB语言中,打开已有的M文件有下面两种方法:

1)菜单操作

打开已有的M函数文件,可以从MATLAB主窗口的主页下,选择“打开”,在打开窗口选择文件路径,选中M文件,单击“打开”按钮。

2)命令操作

另外,还可以在MATLAB命令窗口输入命令:edit文件名,就能打开已有的M文件。对打开的M文件可以进行编辑和修改,然后再存盘。