Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Matlab中绘制特殊函数(2D Bessel)_Matlab - Fatal编程技术网

在Matlab中绘制特殊函数(2D Bessel)

在Matlab中绘制特殊函数(2D Bessel),matlab,Matlab,我试图从本质上得到这样的东西,在那里我可以看到底部清晰的涟漪,但除此之外,它就像高斯曲线: 这有点不令人满意,因为涟漪不是很明显,它有一个非常粗糙的质量,使图像模糊了一点,如果你移动图形,使它只是在2D中(因此它看起来像一个圆),我甚至不确定它是否与它应该是什么样子(同心圆在现实中似乎间隔更均匀)。那么,有没有更好的方法 a = 2*pi; [X Y] = meshgrid(-1:0.01:1,-1:0.01:1); R = sqrt(X.^2+Y.^2); f = (2*besselj(1,

我试图从本质上得到这样的东西,在那里我可以看到底部清晰的涟漪,但除此之外,它就像高斯曲线:

这有点不令人满意,因为涟漪不是很明显,它有一个非常粗糙的质量,使图像模糊了一点,如果你移动图形,使它只是在2D中(因此它看起来像一个圆),我甚至不确定它是否与它应该是什么样子(同心圆在现实中似乎间隔更均匀)。那么,有没有更好的方法

a = 2*pi;
[X Y] = meshgrid(-1:0.01:1,-1:0.01:1);
R = sqrt(X.^2+Y.^2);
f = (2*besselj(1,a*R(:))./R(:)).^2;
mesh(X,Y,reshape(f,size(X)));
axis vis3d;

您需要更改颜色贴图,或更改曲面特性并显示具有反射的形状。看一看你能做的一切。例如:

a = 2*pi;
[X Y] = meshgrid(-1:0.01:1,-1:0.01:1);
R = sqrt(X.^2+Y.^2);
f = (2*besselj(1,a*R(:))./R(:)).^2;
h=mesh(X,Y,reshape(f,size(X)));
axis vis3d;
%# change from mesh to solid surface with no lines
set(h,'FaceColor','interp','edgeColor','none','facelighting','phong');
%# set reflectance
material shiny
%# add light. Change the position to see different reflections
light('Position',[10 0 10],'Style','local');
这是你想要的吗

冲浪

代码
你基本上已经问过这个了:。请避免多次发布同一问题。如果您需要完善以前的问题,请单击“编辑”链接进行修改。如果您在问题下方看不到“编辑”链接,可能是因为您有3个不同的帐户()。尝试获得OpenID登录,并合并这些帐户,这样您就不必重复问题,这是不赞成的。
a = 2*pi;
[X Y] = meshgrid(-1:0.1:1,-1:0.1:1);
R = sqrt(X.^2+Y.^2);
f = (2*besselj(1,a*R(:))./R(:)).^2;
h=surf(X,Y,reshape(f,size(X)));
axis vis3d;
set(h,'FaceAlpha',0)