在python中集成多个函数错误

时间:2015-12-05 22:31:56

标签: python scipy ipython integration typeerror

假设我定义了我的函数G,

def G(k, P, W):
    return k**2*P*W**2

其中P和W是具有k的独立变量的两个函数,k是定义的数字。

我正在尝试将其从0整合到无穷大

I = scipy.integrate.quad(G, 0, np.Inf)

将此输入我的控制台会给我错误, G() takes exactly 3 arguments (2 given)

我尝试使用arg()命令,但它似乎没有改变它,代码仍然固执。我做错了什么,我错过了什么?

1 个答案:

答案 0 :(得分:2)

如果我理解正确,k是常数。然后你可以写:

k = 10
I = integrate.dblquad(lambda p,w: G(k,p,w), 0, np.Inf, lambda x: 0, lambda x: np.Inf)

scipy documentation中找到它。

此外,你的积分看起来不同。

对于符号积分,请参阅sympy.integrate。这是一个不同的图书馆。

import * from sympy

k,P,W = symbols('k P W')
integrate(G(k,P,W),P,W)