使用输出数组计算 Python 中的数组积分
Calculate Integral over array in Python with output array
我想计算形式的积分
我希望将结果作为数组(最终将它们绘制为 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)))
这给了我错误“提供的函数不是 return 有效的浮点数”。我对 Scipy 的集成功能不是很熟悉。非常感谢您的提前帮助!
Scipy integrate.quad好像不支持向量输出。如果您遍历 w
的所有值并且一次只给出其中一个作为参数,您的代码似乎可以正常工作。
它也不处理复杂的集成,您可以使用 this answer.
中概述的过程绕过它
我想计算形式的积分
我希望将结果作为数组(最终将它们绘制为 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)))
这给了我错误“提供的函数不是 return 有效的浮点数”。我对 Scipy 的集成功能不是很熟悉。非常感谢您的提前帮助!
Scipy integrate.quad好像不支持向量输出。如果您遍历 w
的所有值并且一次只给出其中一个作为参数,您的代码似乎可以正常工作。
它也不处理复杂的集成,您可以使用 this answer.
中概述的过程绕过它