scipy.integrate.

cumulative_trapezoid#

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

使用复合梯形法则累积积分 y(x)。

参数:
yarray_like

要整合的值。

x类似数组, 可选

要沿其积分的坐标。如果为 None(默认),则使用 y 中连续元素之间的间距 dx

dxfloat, 可选

y 元素之间的间距。仅在 x 为 None 时使用。

int, 可选

指定要累积的轴。默认值为 -1(最后一个轴)。

初始标量,可选

如果给出,将此值插入返回结果的开头。0 或 None 是唯一接受的值。默认是 None,这意味着 res 在积分轴上的元素比 y 少一个。

自 1.12.0 版本弃用: 对于 initial 的非零输入选项将在 SciPy 1.15.0 中被弃用。在此之后,如果 initial 不是 None 或 0,将引发 ValueError。

返回:
resndarray

沿 axisy 进行累积积分的结果。如果 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