这篇文章上次修改于 235 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

与MATLAB脚本文件不同的是,M函数文件类似于python中的一个自己封装的类库,其具有模块化的特点。
M函数文件的语法格式为:


function [输出变量] = 函数名(输入变量列表) %定义行, 以关键字 function 开头

函数帮助行
函数体语句
end


给出以下这段代码:

 %% isleap.m
 %%寻找是否为闰年
    function leap = isleap(year)
    leap=0;
    if mod(year,400)==0, leap=1;
    elseif
    mod(year,4)==0 && mod(year,100)~=0.leap=1;
    else leap=0;
    end

这是一段判断年份是否为闰年的代码,其条件为:
1.能被 4 整除且不能被 100 整除;
2.能被 400 整除
符合两个条件,则输出1,否则输出0.

以上代码就是一个m函数文件,其中该函数文件的命名必须与函数名相同,这里的函数名为isleap,则该文件的命名为isleap.m
function为M 函数开始的标志关键字,是区分脚本文件和函数文件的关键。
函数的输入变量和输出变量均可以有多个,在多个变量的情况下,输入变量以逗号隔开的方式放在圆括号()中,如(x1,x2,x3)等;输出变量为方括号[],如[y1,y2,y3]等。

另外,在上面这段代码中,有多个%%符号的注释,在m函数文件中,函数帮助行包含了两部分内容: H1 帮助行和在线帮助行。 H1 帮助行是文件中第一条以“%”开头的帮助信息,其后的注释行则称为在线帮助行。可分别使用 lookfor指令和 help 指令来查询相应内容。

值得注意的是,M函数文件中所使用的变量均为局部变量,在该函数文件执行结束后在工作区间中清除。若希望用到全局变量,则需要用到global 指令作全局变量的声明。