文末有惊喜

创建内联函数可以使用inline命令实现。

inline('string',arg1,arg2, …)%创建内联函数

说明:'string'必须是不带赋值号(“=”)的字符串;arg1和arg2是函数的输入变量。

【例5.27】创建内联函数实现 。

>>f=inline('sin(x)*exp(-z*x)','x','z')%创建内联函数

Inline function:

f(x,z)=sin(x)*exp(z*x)

>>y=f(5,0.3) %调用函数f

MATLAB可以用char、class和argnames命令方便地查看内联函数的信息。

char(inline_fun)  %查看内联函数的内容

class(inline_fun)  %查看内联函数的类型

argnames(inline_fun)  %查看内联函数的变量

【例5.27续】  查看内联函数的信息。

>>char(f)

sin(x)*exp(-z*x)

>>class(f)

>>argnames(f)

内联函数的输入变量不能是数组,但可以使用vectorize命令将内联函数适用于数组运算。

vectorize(inline_fun)  %使内联函数适用于数组运算

【例5.27续】  使内联函数适用于数组运算。

>>ff=vectorize(f)  %使内联函数f转换为适合于数组运算

Inline function:

ff(x,z)=sin(x).*exp(-z.*x)

>>x=0:0.1:20;

>>y=ff(x,0.3);

内联函数还可以直接使用feval命令执行。

[y1,y2, …]=feval(inline_fun,arg1,arg2…)

【例5.27续】  执行内联函数。

>>x=0:0.1:20;

>>z=0:0.05:10;

>>y=feval(ff,x,z)

截止到本文结束,MATLAB基础知识就已经到此结束了,可以在本公众号浏览历史消息,回顾往期MATLAB,若不方便,则在后台回复MPPT即可获取MATLAB相关PPT,谢谢支持。