首页 > 解决方案 > 如何计算依赖于另一个函数积分的函数的积分

问题描述

from scipy.integrate import quad
from math import sqrt
f = lambda x, a: a**2 * x # here a is a constant.
F = lambda x, a: quad(f, 0, x, args=(a,))[0]
rho = 5

我需要计算积分

1/sqrt(F(rho,a)-F(s,a)), 

s是从 0(下限)到rho(上限)。

标签: pythonfunctionmathscipynumerical-integration

解决方案


我认为您的问题缺少上一篇文章中的一些信息(a例如关于)如何使用`scipy.integrate.quad`来计算取决于另一个函数积分的函数的积分您可能应该通过编辑您的问题来解决这个问题文本。


关于当前问题:为什么不直接定义一个新函数g,然后引用其他函数并以与中相同的方式集成F

from scipy.integrate import quad
from math import sqrt

f = lambda x, a: a**2 * x
F = lambda x, a: quad(f, 0, x, args=(a,))[0]

rho = 5
g = lambda x, a: 1 / sqrt(F(rho, a) - F(x, a))

I = quad(g, 0, rho, args=(4,))
print(I)

这打印:

(0.5553603672694568, 1.9614421198355103e-11)

推荐阅读