内联函数、匿名函数和函数函数

https://blog.csdn.net/lanchunhui/article/details/51338162

内联函数

>> f = inline('x^2 + y^3')
f =
     内联函数:
     f(x,y) = x^2+y^3
>> f(2, 3)
31

inline('x^2+y^3')
等价于
inline('x^2+y^3', 'x', 'y')
        % 后续可变参数标识参数列表

匿名函数

语法结构为:

fhandle=@(arglist) expression
>> f = @(x, y) x^2 + y^3
f = 
    @(x,y)x^2+y^3
>> f(2, 3)
31

匿名函数甚至支持多个输出:

>> f = @(x) [(x-1)^2 2*(x-1)]
>> f(0)
ans =

     1     2

函数函数

函数函数(function function)是对传入的其他函数进行操作的函数,传入的函数作为函数函数的输入参数。传入到函数函数中的函数称为传递函数(Passed function),事实上MATLAB中就有许多这样的函数,例如求解常微分方程的函数ode23、ode45、ode113等都是函数函数,他们的第一个参数都是传递函数。
使用fplot函数

绘制 [−π,π] 上正弦图形:

fplot(@(x) sin(x), [-pi, pi])

或者

fplot(@sin, [-pi, pi])
fplot(@sin, [-pi, pi],'-.o')
···

函数式编程feval

feval(@(x, y) sin(x)+cos(y), -5:.01:5, -5:.01:5)

你可能感兴趣的:(内联函数、匿名函数和函数函数)