如何在python中使用tplquad,dblquad进行积分?

时间:2018-06-28 07:07:52

标签: python math scipy integration

如何使用scipy在python中执行这种积分:

$$\int_{0}^{1} f(x) \, dx \int_{0}^{x} g(y) \, dy \int_{0}^{x} h(z) \,dz $$

使用tplquad进行了尝试,但是我认为两个内部积分是x的独立函数这一事实不是我能够编写的。

1 个答案:

答案 0 :(得分:0)

SciPy的tplquad期望函数至少具有三个参数(z,y,x)。没有比这更简单的了:

def fgh(z, y, x):
    return f(x)*g(y)*h(z)

要指定范围,lambda函数非常有用。正交的示例代码如下:

tplquad(fgh, a=0,               b=1, \
             gfun=lambda x:0,   hfun=lambda x:x, \
             qfun=lambda x,y:0, rfun=lambda x,y:x)