當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python scipy integrate.simps用法及代碼示例


用法:

scipy.integrate.simps(y, x=None, dx=1, axis=-1, even='avg')

使用沿給定軸的樣本和合成Simpson規則對y(x)進行積分。如果x為None,則假定dx的間距。

如果樣本數為偶數N,則間隔數為奇數(N-1),但辛普森規則要求間隔數為偶數。參數‘even’控製如何處理。

參數:

yarray_like

要集成的陣列。

xarray_like, 可選參數

如果給定,則采樣y的點。

dxint, 可選參數

積分點沿y軸的間距。僅在x為None時使用。默認值為1。

axisint, 可選參數

整合所沿的軸。默認為最後一個軸。

evenstr {‘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實現見:[源代碼]

相關用法


注:本文由純淨天空篩選整理自 scipy.integrate.simps。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。