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(默认),则在 y 中的连续元素之间使用间距 dx。
- dxfloat, 可选
y 元素之间的间距。仅在 x 为 None 时使用。
- axisint, 可选
指定要累积的轴。默认为 -1(最后一个轴)。
- initial标量, 可选
如果给出,则将此值插入返回结果的开头。 0 或 None 是唯一接受的值。默认值为 None,这意味着 res 沿积分轴比 y 少一个元素。
自版本 1.12.0 起已弃用: initial 的非零输入选项将在 SciPy 1.15.0 中弃用。此后,如果 initial 不是 None 或 0,则会引发 ValueError。
- 返回值:
- resndarray
沿 axis 累积积分 y 的结果。如果 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()