【发布时间】:2010-04-30 23:30:31
【问题描述】:
如何在 Matlab 中绘制第一类 Bessel 函数(2d)?
【问题讨论】:
标签: matlab plot bessel-functions
如何在 Matlab 中绘制第一类 Bessel 函数(2d)?
【问题讨论】:
标签: matlab plot bessel-functions
这两个部分:
【讨论】:
如果您的意思是 2d 绘图,您可以选择一些 \nu 并覆盖,例如使用,例如
nu=0:0.5:3;
[nuGrid,z]=meshgrid(nu,linspace(0,10,100));
myBessel=besselj(nuGrid,z);
plot(z,myBessel)
xlabel('\nu')
ylabel('z')
zlabel('J_\nu(z)')
legend(cellstr(num2str(nu')))
给出:
如果您的意思是两个变量的函数图,这里有一种方法(如果您愿意,可以将mesh 替换为surf):
[nu,z]=meshgrid(linspace(0,5,100),linspace(0,10,100));
myBessel=besselj(nu,z);
mesh(nu,z,myBessel)
xlabel('\nu')
ylabel('z')
zlabel('J_\nu(z)')
这是结果图:
【讨论】:
plot)。但我猜想 OP 的“(2d)”不需要说明,让我认为(s)他的意思是它是 2 个变量的函数。有 1 个代表,很可能再也见不到 OP 了。当然,surf 是 2 个变量的函数的 3D 图。我改变了答案的重点(并重新调整以避免二维图的 for 循环)。