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


9

我正在尝试整合

01t2n+2exp(αr0t)dt

这是一个简单的转换

1x2nexp(α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

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

1xeax=1axeax11a1eax=eaa+eaa2=a+1a2ea
并继续归纳
1xkeax=1axkeax1ka1xk1eax=eaa+ka1xk1eax
以便
I(k)=eaa+kaI(k1)
I(0)=eaa

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

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

每当您拥有这样的积分时,最好问一个计算机代数系统。枫树评价“1x2nexp(αx)dx assuming n::nonnegint,α>0”立即进入 Γ(2n+1,α)α2n1; 我确定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.