使用scipy

时间:2016-12-15 09:21:40

标签: python scipy

在我的Python代码中,我有一个像

这样的函数
def f(x, alpha=1.):
    return (1.-x**2)**alpha

我想整合那个功能。一种方法是使用scipy.integrate,例如

from scipy.integrate import quad
quad( f, 0, 1)

现在我想改变参数alpha,调用quad( f(alpha=2.), 0,1)不起作用,我怎么能意识到这一点?

修改:代码运行时,用户输入会改变alpha的值

1 个答案:

答案 0 :(得分:1)

quad和其他几个函数有一个args参数,可用于提供其他参数。如果您正在集成的函数在 x之后具有额外的参数就像它一样。所以你只需要做

alpha = 2
quad(f, 0, 1, args=(alpha,))  # notice the trailing comma for the tuple

documentation中还有其他示例。