本文简要介绍 python 语言中 scipy.integrate.trapezoid
的用法。
用法:
scipy.integrate.trapezoid(y, x=None, dx=1.0, axis=-1)#
使用复合梯形规则沿给定轴积分。
如果提供了 x,则集成会沿着其元素按顺序进行 - 它们没有排序。
整合y(x) 沿给定轴上的每个 1d 切片,计算
.什么时候x被指定,这沿着参数曲线集成,计算 .- y: array_like
要集成的输入数组。
- x: 数组,可选
对应于 y 值的样本点。如果 x 为 None,则假定采样点均匀分布 dx。默认值为无。
- dx: 标量,可选
x 为 None 时采样点之间的间距。默认值为 1。
- axis: 整数,可选
要沿其集成的轴。
- trapezoid: 浮点数或 ndarray
y = n 维数组的定积分,按照梯形规则沿单轴近似。如果 y 是一维数组,则结果是浮点数。如果 n 大于 1,则结果是 n-1 维数组。
参数 ::
返回 ::
注意:
图片[2]说明梯形规则 - 点的 y 轴位置将取自y数组,默认情况下,点之间的 x 轴距离将为 1.0,或者它们可以提供x数组或与dx标量。返回值将等于红线下的组合面积。
参考:
例子:
对均匀分布的点使用梯形法则:
>>> import numpy as np >>> from scipy import integrate >>> integrate.trapezoid([1, 2, 3]) 4.0
样本点之间的间距可以通过
x
或dx
参数选择:>>> integrate.trapezoid([1, 2, 3], x=[4, 6, 8]) 8.0 >>> integrate.trapezoid([1, 2, 3], dx=2) 8.0
使用递减的
x
对应于反向积分:>>> integrate.trapezoid([1, 2, 3], x=[8, 6, 4]) -8.0
更一般地说,
x
用于沿参数曲线积分。我们可以使用以下方法估计积分 :>>> x = np.linspace(0, 1, num=50) >>> y = x**2 >>> integrate.trapezoid(y, x) 0.33340274885464394
或者估计圆的面积,注意我们重复闭合曲线的样本:
>>> theta = np.linspace(0, 2 * np.pi, num=1000, endpoint=True) >>> integrate.trapezoid(np.cos(theta), x=np.sin(theta)) 3.141571941375841
trapezoid
可以沿着指定的轴应用,在一次调用中进行多次计算:>>> a = np.arange(6).reshape(2, 3) >>> a array([[0, 1, 2], [3, 4, 5]]) >>> integrate.trapezoid(a, axis=0) array([1.5, 2.5, 3.5]) >>> integrate.trapezoid(a, axis=1) array([2., 8.])
相关用法
- Python SciPy integrate.tplquad用法及代码示例
- Python SciPy integrate.quad_vec用法及代码示例
- Python SciPy integrate.cumulative_trapezoid用法及代码示例
- Python SciPy integrate.romberg用法及代码示例
- Python SciPy integrate.qmc_quad用法及代码示例
- Python SciPy integrate.dblquad用法及代码示例
- Python SciPy integrate.simpson用法及代码示例
- Python SciPy integrate.quadrature用法及代码示例
- Python SciPy integrate.quad用法及代码示例
- Python SciPy integrate.solve_bvp用法及代码示例
- Python SciPy integrate.solve_ivp用法及代码示例
- Python SciPy integrate.newton_cotes用法及代码示例
- Python SciPy integrate.odeint用法及代码示例
- Python SciPy integrate.ode用法及代码示例
- Python SciPy integrate.romb用法及代码示例
- Python SciPy integrate.fixed_quad用法及代码示例
- Python SciPy integrate.nquad用法及代码示例
- Python SciPy integrate.quad_explain用法及代码示例
- Python SciPy interpolate.make_interp_spline用法及代码示例
- Python SciPy interpolate.krogh_interpolate用法及代码示例
- Python SciPy interpolative.reconstruct_matrix_from_id用法及代码示例
- Python SciPy interpolate.InterpolatedUnivariateSpline用法及代码示例
- Python SciPy interpolate.BSpline用法及代码示例
- Python SciPy interpolative.reconstruct_interp_matrix用法及代码示例
- Python SciPy interpolate.LSQSphereBivariateSpline用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.integrate.trapezoid。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。