B. 主函数与子函数:所有非匿名函数都需要在m文件中定义。
每个M文件都要求有一个主函数,它最先出现在该m文件中。主函数的
范围比子函数要广。也就是说,主函数可以在M文件外部调用(在命令
窗口或者是其他的M文件中),而子函数则不行。子函数只在主函数和
该M文件的其他子函数中可见。
C. 私有函数:私有函数是主M文件函数的一种。它唯一的特征
是它只能够在一个特定的限定函数群中可见。如果你想约束函数的访
问,或者当你选择不让外面看到你执行的是哪个函数的时候,这就很有用了。
私有函数驻留(放在)以专有名称 private命名的子目录下。他们只是对
其父目录中的函数是可见的。例如:…。因为私有函数是对外部(父目
录外)不可见的,因此他们可以采用与其他目录下函数相同的名字。这
在当你想创建自己特定的函数的新版本而想在另外目录保存原来版本的
函数的时候很有用。因为MATLAB先查询私有函数,再寻找标准M函数。
D. 嵌套函数:你可以在任意一个MATLAB M函数体内部定义函
数。它们称之为外部函数的嵌套函数。这要注意,matlab以前的版本是
不支持在一个函数内部再定义其他函数的:
function x = nestFun(p1,p2)
x1=nestFunIn(p2);
function y=nestFunIn(p3)
y=2*p3;
end
x=x1+p1;
end