数值计算日志∫b一种F( x ) d xlog⁡∫abf(x)dx从日志F( × )log⁡f(x)?

计算科学 参考请求 一体化
2021-12-14 10:57:22

我想要一种数值方法来评估:

logabf(x)dx

当我有一个数值例程来评估时logf(x). 问题是,如果f(x)取非常大或非常小的值,直接评估f(x)将导致上溢/下溢。我想知道是否有人通常处理过这个数值积分问题?

请注意,即使f(x)在某些区域可能非常小,而在其他区域可能非常大,您不能只将小值近似为零,因为如果区域f(x)非常小足够大,它可能对积分有很大贡献。

1个回答

你这么说f(x)具有非常大和非常小的(正)值。那么你拥有的积分是“大”的,而f(x)无关紧要:在那些地区f(x)会产生下溢,您不妨添加零,因为这对整体积分的贡献无关紧要。

所以重要的是那些领域f(x)太大了,你会溢出。这一定会发生,因为你在这些位置有某种奇点。如果是这样,那将是值得拆分f(x)分解成奇异部分和非奇异部分,如果可能的话,对奇异部分进行分析积分,其余项用求积分。