maxframe.tensor.trapezoid#

maxframe.tensor.trapezoid(y, x=None, dx=1.0, axis=-1)[源代码]#

使用复合梯形法则沿给定轴进行积分。

沿给定轴对 y (x) 进行积分。

参数:
  • y (array_like) -- 用于积分的输入张量。

  • x (array_like, optional) -- 与 y 值对应的采样点。如果 x 为 None,则假定采样点之间的间距为 dx。默认值为 None。

  • dx (scalar, optional) -- 当 x 为 None 时采样点之间的间距。默认值为 1。

  • axis (int, optional) -- 进行积分的轴。

返回:

trapezoid -- 由梯形法则近似得到的定积分。

返回类型:

float

参见

sum, cumsum

备注

图像 [2] 展示了梯形法则——点的 y 轴位置将从 y 张量中获取,默认情况下点之间的 x 轴距离为 1.0,也可以通过 x 张量或 dx 标量提供。返回值将等于红色线条下方的总面积。

引用

示例

>>> import maxframe.tensor as mt
>>> mt.trapezoid([1,2,3]).execute()
4.0
>>> mt.trapezoid([1,2,3], x=[4,6,8]).execute()
8.0
>>> mt.trapezoid([1,2,3], dx=2).execute()
8.0
>>> a = mt.arange(6).reshape(2, 3)
>>> a.execute()
array([[0, 1, 2],
       [3, 4, 5]])
>>> mt.trapezoid(a, axis=0).execute()
array([1.5, 2.5, 3.5])
>>> mt.trapezoid(a, axis=1).execute()
array([2.,  8.])