本文簡要介紹 python 語言中 scipy.integrate.simpson
的用法。
用法:
scipy.integrate.simpson(y, *, x=None, dx=1.0, axis=-1, even=<object object>)#
使用沿給定軸的樣本和複合辛普森規則對 y(x) 進行積分。如果 x 為 None,則假定為 dx 的間距。
如果樣本數為偶數 N,則區間數為奇數 (N-1),但辛普森規則要求區間數為偶數。參數‘even’ 控製如何處理。
- y: array_like
要集成的陣列。
- x: 數組,可選
如果給定,則采樣 y 的點。
- dx: 浮點數,可選
沿 x 軸的積分點間距。僅在 x 為無時使用。默認值為 1。
- axis: 整數,可選
要整合的軸。默認是最後一個軸。
- even: {無,‘simpson’, ‘avg’, ‘first’, ‘last’},可選
- ‘avg’ 平均兩個結果:
使用前 N-2 個間隔,並在最後一個間隔上使用梯形規則
將最後 N-2 個間隔與第一個間隔上的梯形規則一起使用。
- ‘first’ 對前 N-2 個區間使用 Simpson 規則
最後一個區間的梯形規則。
- ‘last’ 對最後 N-2 個區間使用 Simpson 規則
第一個區間的梯形規則。
無:相當於‘simpson’(默認)
- ‘simpson’ 對前 N-2 個間隔使用辛普森規則
使用 Cartwright [1] 概述的方程為最後一個間隔添加 3 點拋物線段。如果要積分的軸隻有兩個點,則積分會退回到梯形積分。
- 浮點數
使用複合辛普森規則計算的估計積分。
參數 ::
返回 ::
注意:
對於等間距的奇數個樣本,如果函數是 3 階或更小的多項式,則結果是精確的。如果樣本不是等間距的,那麽隻有當函數是 2 階或更小的多項式時,結果才是準確的。
參考:
[1]Cartwright、Kenneth V. Simpson 與 MS Excel 和 Irregularly-spaced 數據的規則累積集成。數學科學與數學教育雜誌。 12(2):1-9
例子:
>>> from scipy import integrate >>> import numpy as np >>> x = np.arange(0, 10) >>> y = np.arange(0, 10)
>>> integrate.simpson(y, x) 40.5
>>> y = np.power(x, 3) >>> integrate.simpson(y, x) 1640.5 >>> integrate.quad(lambda x: x**3, 0, 9)[0] 1640.25
>>> integrate.simpson(y, x, even='first') 1644.5
相關用法
- Python SciPy integrate.solve_bvp用法及代碼示例
- Python SciPy integrate.solve_ivp用法及代碼示例
- Python SciPy integrate.quad_vec用法及代碼示例
- Python SciPy integrate.cumulative_trapezoid用法及代碼示例
- Python SciPy integrate.romberg用法及代碼示例
- Python SciPy integrate.qmc_quad用法及代碼示例
- Python SciPy integrate.dblquad用法及代碼示例
- Python SciPy integrate.quadrature用法及代碼示例
- Python SciPy integrate.quad用法及代碼示例
- Python SciPy integrate.newton_cotes用法及代碼示例
- Python SciPy integrate.odeint用法及代碼示例
- Python SciPy integrate.ode用法及代碼示例
- Python SciPy integrate.romb用法及代碼示例
- Python SciPy integrate.fixed_quad用法及代碼示例
- Python SciPy integrate.tplquad用法及代碼示例
- Python SciPy integrate.nquad用法及代碼示例
- Python SciPy integrate.trapezoid用法及代碼示例
- Python SciPy integrate.quad_explain用法及代碼示例
- Python SciPy interpolate.make_interp_spline用法及代碼示例
- Python SciPy interpolate.krogh_interpolate用法及代碼示例
- Python SciPy interpolative.reconstruct_matrix_from_id用法及代碼示例
- Python SciPy interpolate.InterpolatedUnivariateSpline用法及代碼示例
- Python SciPy interpolate.BSpline用法及代碼示例
- Python SciPy interpolative.reconstruct_interp_matrix用法及代碼示例
- Python SciPy interpolate.LSQSphereBivariateSpline用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.integrate.simpson。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。