MATLAB 的函数句柄:
1、何为函数句柄?
函数句柄也是MATLAB中的一种常见的数据类型,
它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或者函数引用(Perl)。
它的作用是将一个函数封装成一个变量,使其能够像其它变量一样在程序的不同部分传递。。引入函数句柄可使函数调用变得更加灵活方便,极大地提高了函数调用的速度和效率。MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便地调用,提高函数的可用性和独立性。
2、函数句柄的创建:
方式①:直接加@
语法:@函数名fun1 =
方式②: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)
例如: