@是用于定义函数句柄的操作符。函数句柄既是一种变量,可以用于传参和赋值;也是可以当做函数名一样使用。
举例:
sin是matlab中的一个函数,但sin只是函数名,还不是函数句柄,不可以用于传参。
f = @sin;
这行代码定义了一个函数句柄,变量名是f。这样就可以当做参数传递了(这就是上面代码中的意义所在),而且还可以跟sin函数按相同的语法规则使用:
g = f; % g也是函数句柄,其“值”和f一样,都代表sin函数
y = g(pi); %可以得到y=0
有例子如下图:

另外有一种用法:
语法:   变量名=@(输入参数列表)运算表达式
这样产生的函数句柄变量不指向特定的函数, 而是一个函数表达式
例如:

------------------------------------

如果觉得对您有帮助,欢迎打赏,每天众筹一杯咖啡 哈哈哈

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐