1、 m文件类型

m文件分两种脚本m文件、函数m文件,两者的区别是脚本m文件可以作为命令使用,但不能传入和传出参数,函数m文件可以输入参数得到输出结果。

两种文件都必须放在MATLAB的搜索目录才能被MATLAB所使用,这可以通过File->Set Path设置。

2、 函数m文件

1) 函数m文件必须是以函数声明行为第一行,第一个词一般必须是function。

function result = jygetmax(a, b)

2) 函数都有自己的变量空间,不同于全局工作空间。

3) 函数的m文件一般和函数的名称相同

3、 函数类型

一个m文件可以有多个函数,但第一个函数称为主函数,后面的函数称为子函数。另外,还可以在一个函数中定义另一个函数,称为嵌套函数。如果有嵌套函数,则函数(主、嵌套)必须以end结尾。

还有一种称为私有函数,放在private目录下,只能被private同级目录下的m文件中的函数所调用。

4、 函数重载

同一个函数名字,但有不同的参数,称为重载。

一般是不同的目录下编写相同名称的函数,目录首字母一般为@,如@int,@float。

5、 函数输入输出参数

函数参数的性质同C语言,也是传值方式。

输入输出参数的数目可以用:nargin/nargout得到。这在需要判断参数个数的情况下非常有用,如根据参数的个数进行不同的分支操作。

6、 如何返回被修改的参数

函数一般用传值的方式,如果需要得到函数运算中被修改的输入参数,可以将输入参数直接定义为输出参数即可。如[y x]=myfun(x)此时对x的修改会直接返回给函数输出参数。

7、 全局变量

global var用于声明全局变量,对于全局变量各个函数对其修改都将看到。

注意:应该在每个使用全局变量的函数中首先声明全局变量,否则还是会作为局部变量使用。这些和c完全一样的。

8、 函数句柄

MATLAB中函数句柄的含义和C语言中函数指针是一样的。

9、 m文件的调试

主要是通过Debug菜单,其他和其他IDE没什么区别。

10、 m文件优化

可以通过M-Lint和profile进行。