共享一个MATLAB的Bessel函数导数的零点计算代码。可以很方便计算Bessel函数导数的零点,特别对圆波导的TE模式计算有用。
- clc;
- clear all;
- maxv = 5;
- maxs = 5;
- y= zeros(maxv, maxs);
- incr = 4.0;
- for v=0:maxv-1
- h = (v-1)+1.9*(v-1)^(1/3)+1;
- if (v==0)
- y(v+1,1) = fzero(@(x)(besselj(v-1,x)-besselj(v+1,x)),3.5);
- else
- y(v+1,1) = fzero(@(x)(besselj(v-1,x)-besselj(v+1,x)),h);
- end
- for s=2:maxs
- y(v+1,s) = fzero(@(x)(besselj(v-1,x)-besselj(v+1,x)),y(v+1,s-1)+incr);
- end
- end
- y
复制代码
楼主如果需要besselj的零点,我可以提供更加精确的,突然发现第一类贝塞尔函数的0,1,2阶函数也可以用求解微分方程的办法求得,而且精度非常高,如果需要情高出我
本帖最后由 kerbcurb 于 2010-2-21 15:22 编辑
这里有一个表:
Roots of Bessel functions (15 digits)
The n-th roots of Jm(x)=0. m\n n=1 n=2 n=3 n=4 n=5
m=0 2.40482555769577 5.52007811028631 8.65372791291101 11.7915344390142 14.9309177084877
m=1 3.83170597020751 7.01558666981561 10.1734681350627 13.3236919363142 16.4706300508776
m=2 5.13562230184068 8.41724414039986 11.6198411721490 14.7959517823512 17.9598194949878
m=3 6.38016189592398 9.76102312998166 13.0152007216984 16.2234661603187 19.4094152264350
m=4 7.58834243450380 11.0647094885011 14.3725366716175 17.6159660498048 20.8269329569623
m=5 8.77148381595995 12.3386041974669 15.7001740797116 18.9801338751799 22.2177998965612
m=6 9.93610952421768 13.5892901705412 17.0038196678160 20.3207892135665 23.5860844355813
m=7 11.0863700192450 14.8212687270131 18.2875828324817 21.6415410198484 24.9349278876730
m=8 12.2250922640046 16.0377741908877 19.5545364309970 22.9451731318746 26.2668146411766
m=9 13.3543004774353 17.2412203824891 20.8070477892641 24.2338852577505 27.5837489635730
m=10 14.4755006865545 18.4334636669665 22.0469853646978 25.5094505541828 28.8873750635304
--------------------------------------------------------------------------------
Roots of Derivatives of Bessel functions
The n-th roots of Jm'(x)=0. m\n n=1 n=2 n=3 n=4 n=5
m=0 3.83170597020751 7.01558666981561 10.1734681350627 13.3236919363142 16.4706300508776
m=1 1.84118378134065 5.33144277352503 8.53631636634628 11.7060049025920 14.8635886339090
m=2 3.05423692822714 6.70613319415845 9.96946782308759 13.1703708560161 16.3475223183217
m=3 4.20118894121052 8.01523659837595 11.3459243107430 14.5858482861670 17.7887478660664
m=4 5.31755312608399 9.28239628524161 12.6819084426388 15.9641070377315 19.1960288000489
m=5 6.41561637570024 10.5198608737723 13.9871886301403 17.3128424878846 20.5755145213868
m=6 7.50126614468414 11.7349359530427 15.2681814610978 18.6374430096662 21.9317150178022
m=7 8.57783648971407 12.9323862370895 16.5293658843669 19.9418533665273 23.2680529264575
m=8 9.64742165199721 14.1155189078946 17.7740123669152 21.2290626228531 24.5871974863176
m=9 10.7114339706999 15.2867376673329 19.0045935379460 22.5013987267772 25.8912772768391
m=10 11.7708766749555 16.4478527484865 20.2230314126817 23.7607158603274 27.1820215271905
数据来自:
http://wwwal.kuicr.kyoto-u.ac.jp ... a4/besselroot.htmlx
我自己的程序还没有写好,等写好后再发