文末有惊喜
创建内联函数可以使用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,谢谢支持。