zoukankan      html  css  js  c++  java
  • Bessel函数的零点计算 MATLAB

    由于MATLAB自己没有附带贝塞尔函数零点,因此使用起来很不方便,特别是在绘制仿真场量时。

    下面给出0~9阶的贝塞尔函数零点的计算公式,其中理论上计算零点个数N在50以内时较为精确:

    function rootBessel = besal_pi0(n,N)    
    
    % 求解n阶贝塞尔函数的零点(0-9)
    % n为贝塞尔函数阶数 
    % N为要求的零点数量
    
    j = zeros(n+1, N);    % 贝塞尔函数的根
    incr = 4.0;
    for v = 0 : n
       h = v + 1.9*v^(1/3)+1;
       if (v == 0)             % 0阶贝塞尔函数的第一个零点
           j(v+1,1) = fzero(@(x)besselj(v,x),2);
       else                    % 1阶及以上阶贝塞尔函数的第一个零点
           j(v+1,1) = fzero(@(x)besselj(v,x),h);
       end
       for s = 2 : N           % 贝塞尔函数的第2个及后面的零点
           j(v+1,s) = fzero(@(x)besselj(v,x),j(v+1,s-1)+incr);
       end    
    end
    
    rootBessel = j;
  • 相关阅读:
    NIO学习
    XML(二)
    IO和NIO
    Log4j
    异常处理机制
    XML
    数据交互
    分页实现的三种方式
    Idea破解
    数据库连接池
  • 原文地址:https://www.cnblogs.com/olivermahout/p/9926041.html
Copyright © 2011-2022 走看看