本文简要介绍 python 语言中 scipy.integrate.simpson
的用法。
用法:
scipy.integrate.simpson(y, *, x=None, dx=1.0, axis=-1, even=<object object>)#
使用沿给定轴的样本和复合辛普森规则对 y(x) 进行积分。如果 x 为 None,则假定为 dx 的间距。
如果样本数为偶数 N,则区间数为奇数 (N-1),但辛普森规则要求区间数为偶数。参数‘even’ 控制如何处理。
- y: array_like
要集成的阵列。
- x: 数组,可选
如果给定,则采样 y 的点。
- dx: 浮点数,可选
沿 x 轴的积分点间距。仅在 x 为无时使用。默认值为 1。
- axis: 整数,可选
要整合的轴。默认是最后一个轴。
- even: {无,‘simpson’, ‘avg’, ‘first’, ‘last’},可选
- ‘avg’ 平均两个结果:
使用前 N-2 个间隔,并在最后一个间隔上使用梯形规则
将最后 N-2 个间隔与第一个间隔上的梯形规则一起使用。
- ‘first’ 对前 N-2 个区间使用 Simpson 规则
最后一个区间的梯形规则。
- ‘last’ 对最后 N-2 个区间使用 Simpson 规则
第一个区间的梯形规则。
无:相当于‘simpson’(默认)
- ‘simpson’ 对前 N-2 个间隔使用辛普森规则
使用 Cartwright [1] 概述的方程为最后一个间隔添加 3 点抛物线段。如果要积分的轴只有两个点,则积分会退回到梯形积分。
- 浮点数
使用复合辛普森规则计算的估计积分。
参数 ::
返回 ::
注意:
对于等间距的奇数个样本,如果函数是 3 阶或更小的多项式,则结果是精确的。如果样本不是等间距的,那么只有当函数是 2 阶或更小的多项式时,结果才是准确的。
参考:
[1]Cartwright、Kenneth V. Simpson 与 MS Excel 和 Irregularly-spaced 数据的规则累积集成。数学科学与数学教育杂志。 12(2):1-9
例子:
>>> from scipy import integrate >>> import numpy as np >>> x = np.arange(0, 10) >>> y = np.arange(0, 10)
>>> integrate.simpson(y, x) 40.5
>>> y = np.power(x, 3) >>> integrate.simpson(y, x) 1640.5 >>> integrate.quad(lambda x: x**3, 0, 9)[0] 1640.25
>>> integrate.simpson(y, x, even='first') 1644.5
相关用法
- Python SciPy integrate.solve_bvp用法及代码示例
- Python SciPy integrate.solve_ivp用法及代码示例
- 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.quadrature用法及代码示例
- Python SciPy integrate.quad用法及代码示例
- 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.tplquad用法及代码示例
- Python SciPy integrate.nquad用法及代码示例
- Python SciPy integrate.trapezoid用法及代码示例
- 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.simpson。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。