主要内容

function_handle

函数句柄

描述

函数句柄是一个MATLAB®表示函数的数据类型。函数句柄的典型用法是将一个函数传递给另一个函数。例如,可以使用函数句柄作为函数的输入参数,在一定范围内计算数学表达式。函数句柄的其他典型用法包括:

  • 指定回调函数(例如,响应UI事件或与数据采集硬件交互的回调)。

  • 构造内联定义而不是存储在程序文件中的函数的句柄(匿名函数)。

创建

方法创建函数句柄@操作符。函数句柄可以表示命名函数或匿名函数。

  • 命名函数句柄表示现有程序文件中的函数,包括属于MATLAB的一部分的函数和使用函数关键字。若要创建命名函数的句柄,请在函数名前面加上@

    类的句柄功能,然后使用fminbnd求的值x使罪恶最小化(x),取值范围从0到 2 π

    F = @sin;M = fminbnd(f,0,2*pi);
  • 匿名函数句柄(通常称为匿名函数)表示返回一个输出的单个内联可执行表达式。要定义匿名函数,请将输入参数名称用括号括起来@运算符,然后指定可执行表达式。

    例如,创建匿名函数的句柄,用于计算表达式x2y2

    F = @(x,y) (x.²- y.²);

    匿名函数可以接受多个输入,但只返回一个输出。

例子

全部折叠

在当前文件夹中的某个文件中,创建名为cubicPoly它接受一个输入来求三次多项式的值 x 3. + x 2 + x + 1

函数y = cubicPoly(x) y = x.³+ x.²+ x + 1;结束

求的积分cubicPoly01,将句柄传递给cubicPoly函数积分

q =积分(@cubicPoly,0,1)
Q = 2.0833

创建句柄f对三次多项式求值的匿名函数 x 3. + x 2 + x + 1 对于给定的值 x

F = @(x) x.³+ x.²+ x + 1;

求匿名函数的积分01,将其句柄传递给积分

Q =积分(f,0,1)
Q = 2.0833

扩展功能

版本历史

R2006a之前介绍