如何自定义函数:
(m文件函数)
在线函数(Inline Function )
匿名函数(Anonymous Function )
1.M文件函数
样品
functionc=myadd(a,b ) )。
%可以在此写入函数的使用说明。 前面以%开头
在%工作区中,help myadd将显示此处的说明
c=a b;
%end %不是必需的
第1行的function告诉Matlab这是函数,a,b是输入,c是输出,myadd是函数名。 在m文件中定义的函数必须保存为函数名称。 在上面的示例中,函数必须保存为myadd.m。 要使用myadd函数,函数必须位于Matlab的搜索路径中。
调用方法:
在Matlab命令字符之后输入
a=1; b=2;
c=myadd(a,b ) ) )。
关于m文件定义函数还有很多说明,但暂时省略。 请参阅。 请参阅。
2 .在线函数(Inline Function ) )。
通常作为参数传递给另一个函数。 例如fminsearch、lsqcurvefit等函数需要将函数作为参数。
从联机函数字符串表达式创建函数。 例如:
f=inline(x.^2),x );
创建了函数f(x )=x^2。 要计算f(3),在工作区中输入f(3)就可以了。 计算f(234 ) ) x=2 3 4时的值
f=inline(xy )、x )、y ) )
创建二元函数f(x,y )=x y,并在工作区中输入f ) 2,3 )以计算2 ) 3,其等效于feval_r(f ) f,2,3 )。
3 .匿名函数(anonymous函数)。
匿名函数使用函数句柄表示匿名函数,定义格式如下
句柄=@ (变量名)函数表达式
例如:
f=@(x ) x.^2
定义了函数f(x )=x^2,f ) )2)定义了用x=2计算的值。
匿名函数可以调用Matlab函数,也可以使用工作区中存在的变量。 以下是一些示例
a=2;
f=@(x ) x.^2 a
在计算f(2) %时引用了变量a
a=0;
f(2) %仍然引用a=2
匿名函数也可以通过Matlab的内置函数或m文件函数创建。 范例
f=@sin%f(x )=sin(x ) x
f(f(pi/2 ) % sin (pi/2 ) ) ) ) ) ) )。
函数(查看f函数信息
可以使用单元数组为多个函数创建句柄,例如
f={@sin @cos}
f{1}(pi/2 ) %计算sin ) pi/2 )
f{1}{2}{3}pi%计算cos{4}{5}
函数句柄的另一个重要特征是可用于表示子函数、私有函数和嵌套函数。
从Matlab 7开始,建议使用匿名函数替换联机函数! 呃! 呃!
创建匿名函数时,Matlab记录了有关该函数的信息。 使用句柄调用函数时,Matlab不进行搜索,而是立即执行函数,从而大大提高了效率。
这篇论文转载。