MATLAB如何创建内联函数:inline命令的使用
创建内联函数可以使用inline命令实现。其调用格式如下所示。
inline('str',arg1,arg2, …):创建内联函数。'str'必须是不带赋值号的字符串;arg1、arg2是函数的输入变量。
例题1 创建内联函数f=3sin(x)e-x。
f=inline('3*sin(x)*exp(-x)','x') %创建内联函数
其运行结果如下:
f =
Inline function:
f(x)= 3*sin(x)*exp(-x)
在命令窗口中分别输入如下命令,查看其显示结果。
>> char(f) %查看内联函数的内容
ans =
3*sin(x)*exp(-x)
>> argnames(f) %变量名
ans =
'x'
>> formula(f) %计算公式
ans =
3*sin(x)*exp(-x)
>> y=f(0.5) %调用函数f
y =
0.8724
例题2 在实例13.11的基础上,使内联函数适用于数组运算。
>> y=vectorize(f) %使内联函数f转换为适合数组运算
y =
Inline function:
y(x)= 3.*sin(x).*exp(-x)
>> x=0:1:10;
>> z=y(x)
z =
0 0.9287 0.3692 0.0211 -0.0416 -0.0194 -0.0021
0.0018 0.0010 0.0002 -0.0001
内联函数还可以直接使用feval命令执行,其调用格式如下所示。
[y1, y2,…]=feval(inline_fun,arg1, arg2,…):执行内联函数。y1和y2为输出参数,arg1和arg2是函数的输入变量。
例题3 在实例13.12的基础上,执行内联函数。
在命令窗口中输入:
>> x=0:1:10;
>> z=feval(y,x)
其执行结果如下所示:
z =
-0.00210 0.9287 0.3692 0.0211 -0.0416 -0.01940.0018 0.0010 0.0002 -0.0001