MATLAB R2020a智能算法及实例分析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.8 M文件

M文件可分为脚本M文件(简称脚本文件)和函数M文件(简称函数文件)两大类,两者的特点和适用领域均不同。

1.8.1 脚本文件

脚本文件是由MATLAB语句构成的文本文件,以.m为扩展名。运行脚本文件的效果等价于从MATLAB命令窗口中按顺序逐条输入并运行文件中的指令,类似于DOS下的批处理。

脚本文件运行过程产生的变量保留在MATLAB的工作空间中。脚本文件也可以访问MATLAB当前工作空间的变量,其他脚本文件和函数可以共享这些变量。因此,脚本文件常用于主程序的设计。

【例1-20】绘制一个三维螺旋线。

在编辑器中输入以上程序,并将文件保存为M1_20,这时M1_20就是一个MATLAB脚本文件。在命令窗口中输入M1_20,运行此脚本,得到如图1-14所示的效果图。

img

图1-14 三维螺旋线

注意:M1_20在执行过程中成功地访问了MATLAB工作空间的变量和数据t、st、ct。

1.8.2 函数文件

函数文件是M文件的另一种类型,也是由MATLAB语句构成的文本文件,并以.m为扩展名。MATLAB的函数文件必须以关键字function语句引导,其基本结构为:

函数文件具有如下特点。

(1)函数名由用户自定义,其命名规则与变量的命令规则相同。

(2)保存的文件名必须与定义的函数名一致。

(3)读者可通过返回参数及输入参数实现函数参数的传递,但返回参数和输入参数并不是必须的。返回参数如果多于1个,则应该用方括号“[]”将它们括起来;输入参数列表必须用小括号“()”括起来(即使只有一个输入参数)。

(4)注释语句段的每行语句都应该用%引导,%后面的内容不执行。用户可用help命令显示注释语句的内容,用于函数使用前的信息参考。

(5)如果函数较复杂,则正规的参数格式检测是必要的。如果输入参数或返回参数的格式不正确,则应该给出相应的提示。

(6)函数中的输入参数和返回参数的实际个数分别由MATLAB内部保留变量nargin和nargour给出,只要运行了该函数,MATLAB就会自动生成这两个变量。因此,用户在编程时可直接使用这两个自变量。

(7)与一般高级语言不同的是,函数文件末尾处无须使用end命令。

【例1-21】创建一个M1_21函数文件,如果输入参数只有一个x,则返回x;如果输入参数有两个(x、y),则返回sqrt(x^2+y^2)。

保存M1_21函数,然后在命令窗口中调用M1_21函数: