matlab句柄函数@和C++ 中的引用& 很像

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shenziheng1/article/details/80951726
@是Matlab中的句柄函数的标志符,即间接的函数调用方法。
主要有两种语法:
handle = @functionname
handle = @(arglist)anonymous_function
handle = @functionname:返回一个特别的Matlab函数句柄,它提供了一种间接访问函数的方式,也被成为函数的函数(function functions),是一种标准的Matlab数据类型。在C/C++中,有个类似的用法称为引用(使用标识符&),引用只是它绑定的对象的另一个名字,作用在应用上的所有操作事实上都会作用在该引用绑定的对象上。Matlab里句柄函数,与前面讲得引用有些类似,我们通过语句handle = @functionname给名为functionname的函数取了个别名handle,也就是说你既可以用函数functionname实现你要实现的功能,也可以使用handle实现同样的功能。在Python里,你大可直接用变量赋值的方式handle = functionname达到这一目的。
基本用法如下:
>>fh_mFile = @humps
fh_mFile = 
    @humps
% 内置函数句柄
>>fh_builtin = @cos
fh_builtin = 
    @cos
>>fh_builtin(pi)
ans =
    -1
handle = @(arglist)anonymous_function:也称为匿名函数,@左边为一个函数句柄,@后定义了匿名函数的输入参数(多个参数用逗号分隔开),最后一部分为匿名函数的表达式。基本用法如下:
>>sqr = @(x) x.^2
>>a = sqr([1, 2, 3])
a =
     1     4     9
展开阅读全文

没有更多推荐了,返回首页