MatLab中M文件

MatLab 中 M 文件有函数和脚本两种不同类型,是可以被 MatLab 直接执行的源代码文件。

  • 创建/编辑 M 文件:在命令行窗口运行 edit [filename1 [filename2 ...]] 命令。文件存在则编辑文件,文件不存在则先创建文件。若未指定 filename 参数,则默认创建无名的 M 文件。

  • 运行 M 文件:在命令行窗口下运行 run filename 命令。

MatLab 普通函数是指使用以下基本格式定义的函数(具体请参见 MatLab 函数):

1
2
3
function [y1,...,yn] = funcname(x1,...,xn)
...
end

MatLab 普通函数可以在 M 函数文件和 M 脚本文件中定义(在 M 脚本中必须在所有脚本代码结束之后定义)。MatLab 普通函数具有临时独立的函数工作区,当函数运行结束时会自动清除对应的函数工作区。MatLab 普通函数的运算流程是不可见,只能看到输入参数和输出结果。

1. M 脚本文件

  • M 脚本中程序代码本质上是在命令行输入的一条一条命令的集合(MatLab 语言本质上可以看作是一种脚本语言)。
  • M 脚本独立运行产生的所有变量都被自动保存在 MatLab 基础工作区内。若 M 脚本文件被 M 函数文件调用,则 M 脚本文件的所有变量都保存在 M 函数文件的函数工作区内。

【注】MatLab 工作区详情请参见

2. M 函数文件

  • M 函数文件是可以定义输入变量和输出变量的 M 文件,其内部可以包含若干个MatLab 普通函数,第一个函数称为主函数,其余称为子函数(局部函数)。
  • 子函数只能被处于同一 M 函数文件中的主函数或其他子函数调用(对外不可调用),其优先级仅次于 MatLab 的内置函数。
  • 主函数名应和 M 函数文件名一致,当二者不一致时,MatLab 将忽略首函数名,而以文件保存名为准。主函数被 M 函数文件封装成可对外提供调用的函数,M 函数文件的输入输出变量都是针对主函数而言。