0~9阶的贝塞尔函数零点的计算公式,其中理论上计算零点个数N在50以内时较为精确:
Airy光束,基模高斯光束 Bessel光束经过大气湍流相位屏的传输特性
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;
标签:end,fzero,贝塞尔,MATLAB,零点,Bessel,函数 From: https://www.cnblogs.com/bbhhh/p/17863397.html