Fortran求解积分的未知上界

时间:2015-09-20 13:10:46

标签: fortran

我正在尝试在Fortran中实现一个算法,该算法涉及求解积分的边界限制。

例如,我想找到给定的以下积分:integral_(0-t)exp(t)dt = 1/2。哪个fortran应该解决t。

如何在Fortran中解决这个问题?谢谢你的建议。

1 个答案:

答案 0 :(得分:1)

您的具体示例可以使用对数轻松解决,但我认为您只是作为一个说明性示例。如果f(t)是您的被积函数且k是目标值,那么您正在尝试查找函数的根

g(t) = integral_0^t f(u)du - k

您可以尝试Newton's method找到该根。牛顿的方法要求你可以评估g(t) - 你可以通过任何数值积分方法,也可以评估它的衍生g'(t) - 但这更加容易,因为微积分的基本定理,g'(t) = f(t)(假设f是连续的)。

牛顿方法并不总是收敛,如果种子值接近根,它往往会做得更好。你可以尝试一种初步的bisection方法,让你可以接近根,然后用牛顿的方法来改进它。