Matlab 绘制贝塞尔函数
如何在Matlab中绘制第一类贝塞尔函数(2d)?这有两部分:Matlab 绘制贝塞尔函数,matlab,plot,bessel-functions,Matlab,Plot,Bessel Functions,如何在Matlab中绘制第一类贝塞尔函数(2d)?这有两部分: 如何在给定的范围内评估一个问题 如果您指的是2d绘图,您可以选择一些\n菜单和覆盖,使用,例如 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(
如果您指的是2d绘图,您可以选择一些\n菜单和覆盖,使用,例如
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
):
以下是结果图:
我很确定他说的“2D”是指y=f(x)类型的图。我会把你的第一个图形,形式为z=f(x,y),“3D”。@Andreas:我想可能是这样的,我看到了duffymo的想法(通过参考
绘图)。但我猜OP的“(2d)”不需要陈述,让我觉得他是指两个变量的函数。有了1个代表,我们可能再也看不到OP了。当然,surf
是两个变量函数的3D图。我改变了答案的重点(并重新调整以避免2D绘图的for循环)。
[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)')