matlab语句f=@(x, y)什么意思?

作者&投稿:尹承 (若有异议请与网页底部的电邮联系)

matlab中语句f=@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)中@(x,y)的意思如下:

其中的@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)为匿名函数,第一个括号里面是自变量,第二个括号里面是表达式,@是函数指针。

f=@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)表示将匿名函数@(x,y)exp(-x.^2/3).*sin(x.^2+2*y)赋值给f,于是f就表示该函数。

扩展资料:

@在匿名函数中表示函数句柄。例如ln(x),在matlab中是没有定义的,正确表示是log(x);

但如果要直观表示自然对数,意义用以下语句表示:

ln=@(x) log(x);

执行后,ln(4)=log(4) , 即用ln 替换 log。

以上表示可能无法看出‘@’的好处,再看下例:

poly6 = @(x) 8*x.^6+6*x.^5+3*x.^3+x.^2+x+520;

fplot(ploy6,[0,100]);

fzero(ploy6,13);

在这种长且多次调用的情况下,用函数句柄就可以方便很多。



~