matlab函数怎么写,MATLAB如何定义函数
⾃定义函数的途径:
M⽂件函数(M file function)
在线函数(Inline Function)
匿名函数(Anonymous Function)
1.M⽂件函数
范例function怎么记忆
function c=myadd(a,b)
%这⾥可以写函数的使⽤说明,前⾯以%开头
%在⼯作区中,help myadd将显⽰此处的说明
c=a+b;
%end %⾮必须的
第⼀⾏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([2 3 4])计算在x=2 3 4时的值
f=inline('x+y','x','y')
创建了⼆元函数f(x,y)=x+y,⼯作区输⼊f(2,3)计算2+3,等同于feval_r(f,2,3)。
3.匿名函数(Anonymous Function)
匿名函数使⽤函数句柄来表⽰匿名函数,定义形式为
函数句柄=@(变量名) 函数表达式
例如:
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)
f(pi/2) %sin(pi/2)
functions(f) %查看函数信息
利⽤单元数组可以创建多个函数的句柄,例如
f={@sin @cos}
f{1}(pi/2) %计算sin(pi/2)
f{2}(pi) %计算cos(pi)
函数句柄的另⼀个重要特征是可以⽤来表⽰⼦函数、私有函数和嵌套函数。
Matlab 7以后,建议以匿名函数取代在线函数
在创建匿名函数时,Matlab记录了关于函数的信息,当使⽤句柄调⽤该函数的时候,Matlab不再进⾏搜索,⽽是⽴即执⾏该函数,极⼤提⾼了效率。
此论⽂转载。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。