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

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

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

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐