数值积分,可能除以“零”


9

我正在尝试整合

∫01t2n+2exp⁡(αr0t)dt

这是一个简单的转换

∫1∞x2nexp⁡(−αr0x)dx

使用 t=1x因为很难在数值上近似不正确的积分。但是,这确实导致了评估新积分接近零的问题。看到间隔只有长度1(这样可比dt 可以做得很小),但是当积分接近零时我应该考虑什么呢?

在某种程度上,我认为 ∫ϵ1t2n+2exp⁡(αr0t)dt 是个好主意 ϵ是一些小数目。但是,我应该选择哪个号码?应该是机器epsilon吗?用机器epsilon划分的数字是否正确?此外,如果我的机器ε(或接近它)的除法给出了一个非常大的数字,则取exp⁡(1ϵ) 会变得更大。

我应该如何处理呢?有没有一种方法可以对此函数定义明确的数值积分?如果没有,整合功能的最佳方法是什么?


1
您是否考虑过使用Monte Carlo?
— Faheem Mitha

我觉得这不能解决问题。蒙特卡洛积分通常保留给高维积分。我会遇到与蒙特卡洛完全相同的问题,只是对函数的评估位置几乎没有控制。
— drjrm3 2011年

你可能是对的。
— Faheem Mitha

我认为最好有一个答案(也许是一个单独的,更笼统的问题),解释一个函数在一个极限处发散时如何进行数值积分的情况,这是在一般情况下无法进行积分分析的情况。再说一次,也可以在《数字食谱》中找到……
— David Z

@Faheem:“蒙特卡洛是一种非常糟糕的方法;只有在所有其他方法都较差的情况下才应使用它。” -艾伦·索卡(Alan Sokal
— -JM

Answers:


10

这可以通过零件集成来完成:

∫1∞xe−ax=−1axe−ax∣1∞−−1a∫1∞e−ax=e−aa+e−aa2=a+1a2e−a
并继续归纳
∫1∞xke−ax=−1axke−ax∣1∞−−ka∫1∞xk−1e−ax=e−aa+ka∫1∞xk−1e−ax
以便
I(k)=e−aa+kaI(k−1)
和 I(0)=e−aa。

绝对不知道我怎么忽略了这一点。谢谢。
— drjrm3 2011年

1
零件的巧妙替换和集成始终应该是使用不规则积分的第一件事。
— JM

每当您拥有这样的积分时,最好问一个计算机代数系统。枫树评价“∫1∞x2nexp⁡(−αx)dx assuming n::nonnegint,α>0”立即进入 Γ(2n+1,α)α−2n−1; 我确定Mathematica也会这样做。(当然,通过数字验证它还是个好主意,这些人通常也可以这样做。)
— Erik P.

实际上,Mathematica选择将答案表示为ExpIntegralE [-2 n,ar]。如果在其上运行FunctionExpand,则其给出的答案与Maple相同。
— 塞克(Searke)2012年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.