使用SciPy对样品进行数值积分

时间:2013-11-30 21:51:50

标签: python numpy scipy integral

我有一组数据点(x,y),其中y = f(x)。样品相对于x等间隔。我试图让SciPy接近积分

formula

我开始使用它了:

data = np.genfromtxt('data', delimiter=";")
y = data[:,1]  
x = data[:,0]
def f(x, y):
    return (x**2)*(np.exp(np.negative(1.6886*y)))
integral = integrate.simps(f, x)

我得到的结果没有意义,可能有一些我失踪的huuuge点,但非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

integrate.simps用于使用样本评估积分,但不能自行评估函数。我认为你应该使用:

integral = integrate.simps(y, x)

e.g。

import scipy.integrate as inte
import numpy as np
x = np.linspace(0,2*np.pi, 100)
y = np.sin(x)**2
inte.simps(y,x)
>>> 3.1416352035913215