matlab中@的用法

@是用于定义函数句柄的操作符。函数句柄既是一种变量,可以用于传参和赋值;也是可以当做函数名一样使用。

举例:

sin是matlab中的一个函数,但sin只是函数名,还不是函数句柄,不可以用于传参。

f = @sin;

这行代码定义了一个函数句柄,变量名是f。这样就可以当做参数传递了(这就是上面代码中的意义所在),而且还可以跟sin函数按相同的语法规则使用:

g = f; % g也是函数句柄,其“值”和f一样,都代表sin函数

y = g(pi); %可以得到y=0

另外

语法: 变量名=@(输入参数列表)运算表达式

这样产生的函数句柄变量不指向特定的函数, 而是一个函数表达式