- 日志
- 相册
- 记录
- 好友
- 听众
- 收听
- 微元
-
- 在线时间
- 小时
- 阅读权限
- 160
- 注册时间
- 2008-3-18
- 最后登录
- 1970-1-1
|
发表于
2010-2-24 12:49:44
|
显示全部楼层
本帖最后由 kerbcurb 于 2010-2-24 13:31 编辑
从昨天到现在一直在研究这个问题,感觉Wolfram 公司的webComputing 提供的在线计算得出的J0的根可以准确到15位,我这里的得出的前100为的数据感觉比他的准确,因为没有权威的数据可以比较,自认为以下的数据至少是15位精度的:
2.40482555769577276
5.52007811028631064
8.65372791291101221
11.79153443901428160
14.93091770848778590
18.07106396791092250
21.21163662987925890
24.35247153074930270
27.49347913204025480
30.63460646843197510
33.77582021357356870
36.91709835366404400
40.05842576462823930
43.19979171317673040
46.34118837166181400
49.48260989739781720
52.62405184111499600
55.76551075501997930
58.90698392608094210
62.04846919022716990
65.18996480020686050
68.33146932985679830
71.47298160359373280
74.61450064370183790
77.75602563038805510
80.89755587113762790
84.03909077693819020
87.18062984364115370
90.32217263721048010
93.46371878194477420
96.60526795099626880
99.74681985868059650
102.88837425419479500
106.02993091645161600
109.17148964980538400
112.31305028049491000
115.45461265366694000
118.59617663087253200
121.73774208795096300
124.87930891323294600
128.02087700600832400
131.16244627521391500
134.30401663830546600
137.44558802028427800
140.58716035285429700
143.72873357368973300
146.87030762579665000
150.01188245695475800
153.15345801922789300
156.29503426853352400
159.43661116426314600
162.57818866894667800
165.71976674795502100
168.86134536923582600
172.00292450307820000
175.14450412190274300
178.28608420007377100
181.42766471373105100
184.56924564063871800
187.71082696004936000
190.85240865258152200
193.99399070010912000
197.13557308566141500
200.27715579333241200
203.41873880819864600
206.56032211624447400
209.70190570429407500
212.84348955994948300
215.98507367153401300
219.12665802804056800
222.26824261908431400
225.40982743485933000
228.55141246609881300
231.69299770403853900
234.83458314038324100
237.97616876727566300
241.11775457726802300
244.25934056329568300
247.40092671865282500
250.54251303696995600
253.68409951219308100
256.82568613856441300
259.96727291060447200
263.10885982309547100
266.25044687106588000
269.39203404977606700
272.53362135470493200
275.67520878153745400
278.81679632615308700
281.95838398461492000
285.09997175315956500
288.24155962818769600
291.38314760625521200
294.52473568406495200
297.66632385845894300
300.80791212641113500
303.94950048502058100
307.09108893150503900
310.23267746319496100
313.37426607752784500
本次回帖给出的J0的100个根是根据求解微分方程的办法得出的,速度较慢,但是精度自认为应该没有问题,我与Matlab比较过过在自变量从0到2222时,J0,J0'【等于-J1】等精度不小于matlab提供的数据,通过牛顿法求解出根,根的精度也应该在15位。
网上流行的bessel函数的计算公式,是这样的:自变量小于8的时候采用Pade分式逼近,精度等级是9位的,自变量大于8采用级数的办法计算,我隐约记得精度不高于12位,因为2004年的时候研究过这个问题,
如果想提高在变量大于8以后的函数的精度,必须重新找到一组系数,好像当时我找到过,但是忘记代码放在什么地方了,应该可以找到。因此前几个帖子提供的数据是9位的。
另外John F. Hart在 Computer Approximations中给出了多组Pade分式插值的系数,我整理了一组,据说在自变量小于8的时候,精度可以达到23位,在这里发给大家: long double Q[10] = {1641556014884554385346137.617, 16033037244408932735390.45602, 79130437776464052403.23616203, 261316531332515327.8086066185, 642960791882601.77592892131, 1237672982083.40790348317773, 1893012093.677918995179541438, 2263381.356781110003609399116, 1974.019272727281783930443513, 1.0};
long double P[10] = {1641556014884554385346147.435, -394355966476729663601261.6471, 21720183859245393139822.87997, -481485995206981764828.5245941, 5345457598841972345.381674607, -33015389256896376.8646542622, 118739068121104.2949874031474, -247985116789.6144439689877514, 280314894.0831953934479400118, -133662.5500481224741885945416};
Pade插值大家都知道,P是分子的系数,Q是分母的系数,自变量的阶数是升序。
完后我会提供15为精度100个J0'的根, |
|