猜猜一个收敛系列的最后一个词

计算科学 收敛
2021-12-10 22:03:33

我有一个收敛的非线性方程,大约 20 步后达到合适的精度,但是每一步的计算都非常昂贵。该系列从不完全相同,但它们相似;下面有4个例子。理想情况下,我希望能够猜测最终答案(尽可能接近),只知道前几个(比如 5 个?)步骤。

示例系列:

22.1365571473 39.1003909811 60.8702429029 87.3193552323 117.479117043 149.298938154 180.099415362 207.478769226 230.033683334 247.487707416 260.35893824 269.520601585 275.88012284 280.218467629 283.143170475 285.099206545 286.400448741 287.263033108 287.833493354

43.8168649647 119.274730769 228.310938956 332.800659827 406.364683614 449.036198231 471.258177801 482.206944282 487.456776422 489.94148426 491.110264146 491.658457589

13.7709904649 17.4517204683 20.862400148 23.9136500982 26.5768107479 28.8599125041 30.7910913202 32.4079080805 33.7507827028 34.8591665245 35.7694839095 36.5141882847 37.1214961348 37.6155120979 38.016560732 38.3416106934 38.6047214436 38.8174732756 38.9893605432 39.1281383997 39.2401237101 39.3304495994 39.4032795394

19.5526511118 31.7547501442 45.9545707135 61.7006795681 78.515831743 95.8079163675 112.898129782 129.114767641 143.90065881 156.888846484 167.923989061 177.034730079 184.379068592 190.185787294 194.706624478 198.184227677 200.8346208 202.840305035 204.349975449 205.481710536 206.327550943 206.958285211 207.427820219 207.776913165

3个回答

您显示的系列似乎在您显示的最后一个术语中具有大致稳定的前三个有效数字。

在大多数同一系列中,前 5 个步骤并没有让您获得正确的第一个有效数字。在对数尺度上,这是一个巨大的距离。要求一个远非如此简单的预测,慈善地说,是疯狂的乐观。

同样,对诸如 Shanks 之类的方法的多次迭代要非常小心(正如一个响应所建议的那样。)该方法往往会在您的计算中大量放大浮点噪声,因此在该方法的多次迭代之后,噪声已经增长到足以压倒信号。关键是,如果你确实应用了 Shanks,那么只有几次迭代会有任何价值。

仅在几项之后就不可能从这样的序列中预测极限吗?我不会这么说,但要做好任何体面的工作,你需要提供意见。外推(这就是你正在做的)是一个令人讨厌的过程,充满了问题。但是,如果您可以提供有用的信息来限制人们可能期望在此过程中看到的曲线族,那么问题就会变得更容易处理。(这并不总是容易做到的。)

Shanks 变换是提高级数收敛性的好方法Wikipedia 上也描述了其他一些系列加速方法。

Bender 和 Orzsag 的书也有一整章是关于级数求和的(尽管我现在手头并不方便)。

鉴于您如何陈述问题,我认为准确性在这里并不是一个真正重要的问题:)

对于您的数据集:第一顺序差异(a2a1,a3a2,...) 看起来它们可能是高斯分布的一部分。

因此,您可以检测一阶差分中是否出现峰值,并在出现峰值时停止评估您的生成器函数。将高斯拟合到您迄今为止获得的数据点μσ,并外推到无穷大。

对于那些值,结果应该接近高斯 CDF 的值μσ.

这将是一个不错的大致估计,因此如果这足以满足您应用程序的其余部分,那么应该没问题。但请不要指望这会接近准确——通过 5 个数据点准确拟合高斯是,嗯......你必须非常幸运:)