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

标签 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)))

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

最佳答案

Scipy integrate.quad 似乎不支持矢量输出。如果您遍历 w 的所有值并且一次只提供其中一个作为参数,您的代码似乎可以正常工作。

此外,它不处理复杂的集成,您可以使用 this answer 中概述的过程绕过它.

关于python - 使用输出数组在 Python 中计算数组的积分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51286830/

相关文章:

python - 如何在 Windows python 3.4 上安装 numpy?

python - 为什么 scipy 为结果应该为零的积分提供非零结果?

python - 绘制散点图最密集区域的等高线

python - NLTK:设置代理服务器

python - Python 上的数组与 numpy

python - pandas 将重复项附加为列

python - 我想从点之间具有角度的点列表中创建相对于单个点的标题。有这个功能吗?

python - Numpy.点阵乘法: (n-by-m)*(m-by-k) and (m-by-k)*(k-by-n) have very different speeds

Python Tkinter : Canvas scrolling with MouseWheel

python - 如何确定哪条回归曲线拟合得更好? PYTHON