Bessel函数的零点计算 MATLAB

MATLAB标准库未包含贝塞尔函数的零点计算,这在进行仿真场量绘图时造成不便。本文提供了0到9阶贝塞尔函数的零点计算公式,适用于50个零点以内的精确计算。
部署运行你感兴趣的模型镜像

由于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;

 

转载于:https://www.cnblogs.com/olivermahout/p/9926041.html

您可能感兴趣的与本文相关的镜像

EmotiVoice

EmotiVoice

AI应用

EmotiVoice是由网易有道AI算法团队开源的一块国产TTS语音合成引擎,支持中英文双语,包含2000多种不同的音色,以及特色的情感合成功能,支持合成包含快乐、兴奋、悲伤、愤怒等广泛情感的语音。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值