在matlab命令窗口、程序或函数中创建局部函数时,可用inline。优点是不必将其储存为一个单独文件。在运用中有几点限制:不能调用另一个inline函数,只能由一个matlab表达式组成,并且只能返回一个变量---显然不允许[u,v]这种形式。因而,任何要求逻辑运算或乘法运算以求得最终结果的场合,都不能应用inline。除了这些限制,在许多情况下使用该函数非常方便。
Inline函数的一般形式为:
FunctionName=inline(‘任何有效的matlab表达式’, ‘p1’,’p2’ ,….) ,其中‘p1’,’p2’ ,…是出现在表达式中的所有变量的名字。
如:(求解F(x)=x^2*cos(a*x)-b ,a,b是标量;x是向量 )
在命令窗口输入:
Fofx=inline(‘x .^2*cos(a*x)-b’ , ‘x’,’a’,’b’);
g= Fofx([pi/3 pi/3.5],4,1)
系统输出为:g=-1.5483 -1.7259
以下是示例:
>> Fx=inline(’x.^2.*cos(a*x)-b’,'x’,'a’,'b’)
Fx =
Inline function:
Fx(x,a,b) = x.^2.*cos(a*x)-b
>> g=Fx([pi/3 pi/3.5],4,10)
g =
-10.5483 -10.7259
>> g=Fx([pi/3 pi/3.5],4,1)
g =
-1.5483 -1.7259
>> g=Fx([pi/3 pi/3.5 pi/4 pi/5 pi/6 pi/10],4,1)
g =
-1.5483 -1.7259 -1.6169 -1.3194 -1.1371 -0.9695
>> char(Fx)
ans =
x.^2.*cos(a*x)-b
>> argnames(Fx)
ans =
‘x’
‘a’
‘b’
>> class(Fx)
ans =
inline
以字符串形式存在的函数表达式可以通过inline函数转化成内联函数。方式如下:
inline(’string’,arg1,arg2,…)