MATLAB 的函数句柄

Posted shenxiaolin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB 的函数句柄相关的知识,希望对你有一定的参考价值。

  MATLAB 的函数句柄:

1、何为函数句柄?

  函数句柄也是MATLAB中的一种常见的数据类型,

  它的地位类似于其它计算机语言里的函数对象(javascript,Python),函数指针(C++),或者函数引用(Perl)。

  它的作用是将一个函数封装成一个变量,使其能够像其它变量一样在程序的不同部分传递。。引入函数句柄可使函数调用变得更加灵活方便,极大地提高了函数调用的速度和效率。MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便地调用,提高函数的可用性和独立性。

2、函数句柄的创建:

方式①:直接加@

    语法:@函数名fun1 = @sin;

方式②:str2func函数

    语法:str2fun(‘函数名‘)

    fun2 = str2func(‘cos‘);

方式③:str2func函数

    语法:@(参数列表)单行表达式
    fun3 = @(x, y)x.^2 + y.^2; 

技术分享图片

技术分享图片

 技术分享图片

技术分享图片

 

 3、函数句柄的调用:

假定一个函数的调用格式为:[y1,y2,...,yn] = FunctionName(x1,x2,...,xm)

该函数通过以下方式构建函数句柄:Hfunction = @FunctionName

则通过函数句柄实现函数运算的调用格式是:直接调用 Hfunction (x1,x2,...,xm) 或者 [y1,y2,...,yn]=feval (Hfunction,x1,x2,...,xm)

 例如:

技术分享图片

 


以上是关于MATLAB 的函数句柄的主要内容,如果未能解决你的问题,请参考以下文章

Matlab - 可选句柄参数首先用于类似函数的绘图

如何在 Matlab 中测试变量是不是是函数句柄

matlab中函数句柄的操作

MATLAB中的递归函数句柄

matlab中的函数句柄

Matlab中函数句柄总结复盘