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()