【问题标题】:Plotting Bessel functions绘制贝塞尔函数
【发布时间】:2010-04-30 23:30:31
【问题描述】:

如何在 Matlab 中绘制第一类 Bessel 函数(2d)?

【问题讨论】:

    标签: matlab plot bessel-functions


    【解决方案1】:

    这两个部分:

    1. How to plot functions in MATLAB?
    2. 如何在给定范围内评估Bessel function

    【讨论】:

      【解决方案2】:

      如果您的意思是 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)')
      

      这是结果图:

      【讨论】:

      • 当他说“2D”时,我很确定他指的是 y = f(x) 类型的图。我将您的第一个图形称为 z = f(x, y), "3D"。
      • @Andreas:我认为可能是这样,我看到这就是 duffymo 的想法(参考plot)。但我猜想 OP 的“(2d)”不需要说明,让我认为(s)他的意思是它是 2 个变量的函数。有 1 个代表,很可能再也见不到 OP 了。当然,surf 是 2 个变量的函数的 3D 图。我改变了答案的重点(并重新调整以避免二维图的 for 循环)。
      猜你喜欢
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-15
      • 2014-09-29
      • 2017-05-18
      • 1970-01-01
      相关资源
      最近更新 更多