Matlab中的特殊函数
我正在尝试获得如下图片: 我做错了什么Matlab中的特殊函数,matlab,Matlab,我正在尝试获得如下图片: 我做错了什么 [x,y]=meshgrid(-1:.1:1,-1:.1:1); surf(x,y,(2*besselj(1,2*pi*sqrt(x.^2+ y.^2)/sqrt(x.^2+ y.^2)).^2) 还有。。。有点像旁注,但如果我在这里使用ndgrid而不是meshgrid,那么我的x和y将正确切换?以下是我认为等式有问题的几点: 等式中的某个地方缺少一个右括号,可能在第一个sqrt(x.^2+y.^2)之后?在等式中,似乎您正在将sqrt(x.^2+
[x,y]=meshgrid(-1:.1:1,-1:.1:1);
surf(x,y,(2*besselj(1,2*pi*sqrt(x.^2+ y.^2)/sqrt(x.^2+ y.^2)).^2)
还有。。。有点像旁注,但如果我在这里使用ndgrid而不是meshgrid,那么我的x和y将正确切换?以下是我认为等式有问题的几点:
- 等式中的某个地方缺少一个右括号,可能在第一个
之后?在等式中,似乎您正在将sqrt(x.^2+y.^2)
除以自身,这可能不是您想要做的,这就是为什么我认为您缺少括号的原因sqrt(x.^2+y.^2)
- 您可能希望使用
执行元素级除法,而不是使用/
执行矩阵右除法(有关更多详细信息,请参阅)/
“none”
,以便仅显示网格的边:
[x,y] = meshgrid(-1:.1:1,-1:.1:1);
z = ... %# Compute your z in some way
surf(x,y,z,'FaceColor','none');
surf
行的括号不匹配,因此我不确定您想做什么。