评估积分F(r2) =1rn2∫r20rn1F(r1) d r1F(r2)=1r2n∫0r2r1nf(r1) dr1不增加不稳定性

计算科学 算法 数字 一体化
2021-12-09 11:21:50

我将以下表达式以数字方式集成到基于向量的库(例如 numpy、MATLAB 等)中,

F(r2)=1r2n0r2r1nf(r1) dr1,
在哪里n是一个整数,其值可达40r1r2可以有许多数量级的值(例如r2[1010,104])。

问题是,我使用的数值积分方法引入了轻微的数值不稳定性,这使得积分结果limr200r2r1nf(r1)dr1不完全是,而是大约因此,当积分结果除以其中时,的结果变得非常大。01013r2n1010nn3F(r20)

我正在寻找一种方法来允许的乘法发生在积分之前,因此数值不稳定性不会增加,或者任何阻止积分的数值不稳定性变得非常大的东西。r1n/r2n

问题是:如何在不增加数值不稳定性的情况下使用 numpy、MATLAB 或任何基于向量的库对上述表达式进行数值积分?

PS:如果可能,我会避免使用 for 循环,因为我使用 Python 编程并且 for 循环可能非常慢。

0个回答
没有发现任何回复~