2.4.6 指令集的函数化(M文件)
在前面的例子中,无论是计算还是绘图,都是根据问题的需要按照一定的顺序使用有关指令,这些指令构成了解决某一特定问题的指令集。可以将这些指令集保存为MATLAB语言的可执行文件,成为M-脚本文件。这时,文件名就变成了一条可执行的(用户自定义)指令,以后若再次执行这一指令集,只需在指令窗口或Notebook环境中键入这个文件名并运行即可。M-脚本文件运行中所处理的数据及返回数据均在MATLAB的工作内存(Workspace)中。这种做法适宜小规模计算或编写大规模计算程序的主程序。
如果问题的规模较大、结构化程度高,相关算法在同类问题中可重复使用时,则应当对相应的MATLAB指令集由function指令进行函数化处理,规划和确定输入/输出参数,此类可执行文件称为M-函数文件,通常用于子程序的编写。用户自定义的M-函数同MATLAB系统函数一样,可以在需要时重复调用。与M-脚本不同,M-函数运行中所处理的数据及返回数据,除预先定义的全局(输入/输出)变量在MATLAB的工作内存(Workspace)中,其余均在调用该函数时系统自动开辟的临时局部变量空间中,该函数运行结束时系统自动删除这一临时的局部变量空间。
M-脚本文件与M-函数文件是MATLAB语言程序设计的两种源程序文件格式,统称M-文件,文件的扩展名均为m。
M-文件的编写通常在MATLAB程序编辑器(Editor)中进行。单击“New M-File”图标(或菜单选项),即可开启程序编辑器。若是在Notebook环境中已经编写出M-文件,则可将文件中的全部指令复制/粘贴到程序编辑器,调试无错误即可保存。
下面简要介绍M-文件和M-函数文件的编写规范。
函数申明行 function[返回变量列表]=function(输入变量列表)
(关键词)行 %FUNNAME(大写体函数名),关键词描述的函数功能
在线帮助文本区 %输入、输出变量的意义,调用格式说明,算法说明等
隔离行 无任何标记的空行
编写与修改记录 %编写者姓名,编写日期,修改日期等
隔离行 无任何标记的空行
函数体 MATLAB命令集(为增强程序的可读性,在函数体中可配置适当的空行和%引导的注释)
在后面的章节中将结合具体例子介绍M文件的编写与调用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。