设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2033|回复: 1

Bessel函数的零点计算 MATLAB

[复制链接]

35

主题

369

金钱

516

积分

初级用户

发表于 2019-8-2 14:40:00 | 显示全部楼层 |阅读模式

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

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

  2. % 求解n阶贝塞尔函数的零点(0-9)
  3. % n为贝塞尔函数阶数
  4. % N为要求的零点数量

  5. j = zeros(n+1, N);    % 贝塞尔函数的根
  6. incr = 4.0;
  7. for v = 0 : n
  8.    h = v + 1.9*v^(1/3)+1;
  9.    if (v == 0)             % 0阶贝塞尔函数的第一个零点
  10.        j(v+1,1) = fzero(@(x)besselj(v,x),2);
  11.    else                    % 1阶及以上阶贝塞尔函数的第一个零点
  12.        j(v+1,1) = fzero(@(x)besselj(v,x),h);
  13.    end
  14.    for s = 2 : N           % 贝塞尔函数的第2个及后面的零点
  15.        j(v+1,s) = fzero(@(x)besselj(v,x),j(v+1,s-1)+incr);
  16.    end   
  17. end

  18. rootBessel = j;
复制代码

0

主题

34

金钱

44

积分

新手用户

发表于 2019-8-28 14:05:46 | 显示全部楼层
贝塞尔函数零点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表