scipy.integrate.

cumulative_trapezoid#

scipy.integrate.cumulative_trapezoid(y, x=None, dx=1.0, axis=-1, initial=None)[source]#

使用複合梯形法則對 y(x) 進行累積積分。

參數:
yarray_like

要積分的值。

xarray_like,選用

要沿著積分的座標。如果為 None (預設值),則使用 dx 作為 y 中連續元素之間的間距。

dxfloat,選用

y 元素之間的間距。僅在 x 為 None 時使用。

axisint,選用

指定要累積的軸。預設值為 -1 (最後一個軸)。

initialscalar,選用

如果給定,則將此值插入到返回結果的開頭。僅接受 0 或 None 值。預設值為 None,這表示 res 沿積分軸的元素數量比 y 少一個。

返回:
resndarray

y 沿 axis 累積積分的結果。如果 initial 為 None,則形狀會使積分軸的值比 y 少一個。如果給定 initial,則形狀與 y 的形狀相同。

另請參閱

numpy.cumsum, numpy.cumprod
cumulative_simpson

使用辛普森 1/3 法則的累積積分

quad

使用 QUADPACK 的自適應正交積分

fixed_quad

固定階高斯正交積分

dblquad

二重積分

tplquad

三重積分

romb

取樣資料的積分器

範例

>>> from scipy import integrate
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> x = np.linspace(-2, 2, num=20)
>>> y = x
>>> y_int = integrate.cumulative_trapezoid(y, x, initial=0)
>>> plt.plot(x, y_int, 'ro', x, y[0] + 0.5 * x**2, 'b-')
>>> plt.show()
../../_images/scipy-integrate-cumulative_trapezoid-1.png