使用输出数组在Python中计算数组上的积分

时间:2018-07-11 13:33:20

标签: python numpy scipy integration numerical-methods

我想计算形式的积分

我希望将结果作为数组(最终将它们作为omega的函数进行绘制)。我有

    import numpy as np
    import pylab as plt
    from scipy import integrate

    w = np.linspace(-5, 5, 1000)

    def g(x):
    return np.exp(-2*x)

    def complexexponential(x, w):
    return np.exp(-1j*w*x)

    def integrand(x, w):
    return g(x)*complexexponential(x, w)

    integrated = np.real(integrate.quad(integrand, 0, np.inf, args = (w)))

这给了我错误“提供的函数没有返回有效的浮点数”。我对Scipy的集成功能不是很熟悉。非常感谢您的提前帮助!

1 个答案:

答案 0 :(得分:1)

Scipy integration.quad似乎不支持矢量输出。如果您遍历w的所有值,并且一次仅以args的形式给出其中一个,则您的代码似乎可以正常工作。

它也不处理复杂的集成,您可以使用this answer中概述的过程来解决它。