2013-02-06 26 views
0

我必须在我决定的范围内集成一个信号。如何在Python中集成信号

我已经使用这个方法:

def integrand(x,y): 
    return y[x] 

result=scipy.integrate.quad(integrand,t0,t1,args=(y))*0.2E-6 

y为2500个500microsec阵列。例如,t0是700,t1是1500. 0.2E-6是两个信号值之间的步长。

它是正确的吗?

回答

1

不是。要整合采样函数,你可以使用scipy.integrate.simpsscipy.integrate.trapz

result_simps = scipy.integrate.simps(y[t0:t1+1], dx=0.2E-6) 
result_trapz = scipy.integrate.trapz(y[t0:t1+1], dx=0.2E-6) 
+0

什么时候用哪个? –