2013-02-06 50 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

什麼時候用哪個? –