当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy trapz用法及代码示例


本文简要介绍 python 语言中 numpy.trapz 的用法。

用法:

numpy.trapz(y, x=None, dx=1.0, axis=- 1)

使用复合梯形规则沿给定轴积分。

如果提供了 x,则集成会沿着其元素按顺序进行 - 它们没有排序。

整合y(x) 沿给定轴上的每个 1d 切片,计算\(\int y(x) dx\) .什么时候x被指定,这沿着参数曲线集成,计算\(\int_t y(t) dt = \int_t y(t) \left.\frac{dx}{dt}\right|_{x=x(t)} dt\) .

参数

y array_like

要集成的输入数组。

x 数组,可选

对应于 y 值的样本点。如果 x 为 None,则假定采样点均匀分布 dx。默认值为无。

dx 标量,可选

x 为 None 时采样点之间的间距。默认值为 1。

axis 整数,可选

要沿其集成的轴。

返回

trapz 浮点数或 ndarray

‘y’ 的定积分 = 通过梯形规则沿单轴近似的 n 维数组。如果‘y’ 是一维数组,则结果为浮点数。如果 ‘n’ 大于 1,则结果是一个“n-1”维数组。

注意

图片[2]说明梯形规则 - 点的 y 轴位置将取自y数组,默认情况下,点之间的 x 轴距离将为 1.0,或者它们可以提供x数组或与dx标量。返回值将等于红线下的组合面积。

参考

1

维基百科页面:https://en.wikipedia.org/wiki/Trapezoidal_rule

2

插图图片:https://en.wikipedia.org/wiki/File:Composite_trapezoidal_rule_illustration.png

例子

>>> np.trapz([1,2,3])
4.0
>>> np.trapz([1,2,3], x=[4,6,8])
8.0
>>> np.trapz([1,2,3], dx=2)
8.0

使用减小的 x 对应于反向积分:

>>> np.trapz([1,2,3], x=[8,6,4])
-8.0

更一般地,x 用于沿参数曲线积分。这找到了圆的面积,注意我们重复关闭曲线的样本:

>>> theta = np.linspace(0, 2 * np.pi, num=1000, endpoint=True)
>>> np.trapz(np.cos(theta), x=np.sin(theta))
3.141571941375841
>>> a = np.arange(6).reshape(2, 3)
>>> a
array([[0, 1, 2],
       [3, 4, 5]])
>>> np.trapz(a, axis=0)
array([1.5, 2.5, 3.5])
>>> np.trapz(a, axis=1)
array([2.,  8.])

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.trapz。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。