MATLAB的M文件和P文件
MATLAB作为一种应用广泛的科学计算软件,不仅可以通过直接交互的指令和操作方式进行强大的数值计算、绘图等,还可以像 C、C++等高级程序语言一样,根据自己的语法规则来进行程序设计。编写的程序文件以.m作为扩展名,称之为M文件。
M文件由以下四部分组成,包括函数定义行、帮助信息行、帮助文件文本和函数体。函数体功能的实现部分是用于实际计算、功能实现和对输出变量进行赋值。
通过编写M文件,用户可以像编写批处理命令一样,将多个MATLAB命令集中在一个文件中,既能方便地进行调用,又便于修改;还可以根据用户自身的情况,编写用于解决特定问题的M文件,这样就实现了结构化程序设计,并降低代码重用率。实际上,MATLAB 自带的许多函数就是M函数文件。MATLAB 提供的编辑器可以使用户方便地进行M文件的编写。
M文件有两种形式:M函数文件和M脚本文件。它们都是由MATLAB语句或命令组成的文件。两种文件的扩展名都是.m。要注意的是M文件名一定以字母开头,而且最好不要与内置函数重名。
P文件是对应M文件的一种预解析版本(preparsed version)。因为当你第一次执行M文件时, MATLAB需要将其解析一次,即第一次执行后的已解析内容会放入内存供第二次执行时使用, 即第二次执行时无需再解析,这无形中增加了执行时间。所以我们就预先做解析,那么以后再使用该M文件时,便会直接执行对应的已解析版本,即P文件。如MATLAB的当前目录有test.m文件,做预解析后,又有test.p文件。
因为P文件的调用优先级比M文件要高,所以当调用test时,会做优先选择而调用test.p。