例如对整数阶贝塞尔函数求前n个正零点,并且这些正零点要求为从小到大的
贝塞尔函数为 。n分别取1,2,3时,编程求出 , 前三个根。
n x1 x2 x3
0 2.405 5.520 8.654
1 3.832 7.016 10.174
2 5.135 8.417 11.620
global rootBessel
maxv = 3; % 最大贝塞尔函数阶数-1,表示从0到9阶
maxs = 3; % 所需要计算贝塞尔函数的零点的数目
j = zeros(maxv, maxs); % 贝塞尔函数的根
incr = 4.0;
for v=0:maxv-1
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:maxs % 贝塞尔函数的第2个及后面的零点
j(v+1,s) = fzero(@(x)besselj(v,x),j(v+1,s-1)+incr);
end
end
rootBessel = j
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632