用法:
scipy.integrate.simps(y, x=None, dx=1, axis=-1, even='avg')
使用沿給定軸的樣本和合成Simpson規則對y(x)進行積分。如果x為None,則假定dx的間距。
如果樣本數為偶數N,則間隔數為奇數(N-1),但辛普森規則要求間隔數為偶數。參數‘even’控製如何處理。
參數:
- y:array_like
要集成的陣列。
- x:array_like, 可選參數
如果給定,則采樣y的點。
- dx:int, 可選參數
積分點沿y軸的間距。僅在x為None時使用。默認值為1。
- axis:int, 可選參數
整合所沿的軸。默認為最後一個軸。
- even:str {‘avg’, ‘first’, ‘last’}, 可選參數
- ‘avg’Average two results:1) use the first N-2 intervals with
在最後一個間隔上使用梯形規則; 2)在最後一個間隔上使用最近的N-2個間隔並使用梯形規則。
- ‘first’Use Simpson’s rule for the first N-2 intervals with
最後間隔的梯形規則。
- ‘last’Use Simpson’s rule for the last N-2 intervals with a
梯形規則的第一個間隔。
注意:
對於等間隔分布的奇數個樣本,如果函數是3階或更小的多項式,則結果是準確的。如果樣本間距不相等,則僅當函數為2階或更小的多項式時,結果才是精確的。
例子:
>>> from scipy import integrate >>> x = np.arange(0, 10) >>> y = np.arange(0, 10)
>>> integrate.simps(y, x) 40.5
>>> y = np.power(x, 3) >>> integrate.simps(y, x) 1642.5 >>> integrate.quad(lambda x: x**3, 0, 9)[0] 1640.25
>>> integrate.simps(y, x, even='first') 1644.5
源碼:
scipy.integrate.simps的API實現見:[源代碼]
相關用法
- python scipy integrate.quad用法及代碼示例
- python scipy integrate.romberg用法及代碼示例
- python scipy integrate.quadrature用法及代碼示例
- python scipy integrate.fixed_quad用法及代碼示例
- python scipy integrate.dblquad用法及代碼示例
- python scipy integrate.tplquad用法及代碼示例
- python scipy integrate.romb用法及代碼示例
- python scipy integrate.cumtrapz用法及代碼示例
- python scipy integrate.ode用法及代碼示例
- python scipy integrate.odeint用法及代碼示例
注:本文由純淨天空篩選整理自 scipy.integrate.simps。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。