用法:
scipy.integrate.simps(y, x=None, dx=1, axis=-1, even='avg')
使用沿给定轴的样本和合成Simpson规则对y(x)进行积分。如果x为None,则假定dx的间距。
如果样本数为偶数N,则间隔数为奇数(N-1),但辛普森规则要求间隔数为偶数。参数‘even’控制如何处理。
参数:
- y:array_like
要集成的阵列。
- x:array_like, 可选参数
如果给定,则采样y的点。
- dx:int, 可选参数
积分点沿y轴的间距。仅在x为None时使用。默认值为1。
- axis:int, 可选参数
整合所沿的轴。默认为最后一个轴。
- even:str {‘avg’, ‘first’, ‘last’}, 可选参数
- ‘avg’Average two results:1) use the first N-2 intervals with
在最后一个间隔上使用梯形规则; 2)在最后一个间隔上使用最近的N-2个间隔并使用梯形规则。
- ‘first’Use Simpson’s rule for the first N-2 intervals with
最后间隔的梯形规则。
- ‘last’Use Simpson’s rule for the last N-2 intervals with a
梯形规则的第一个间隔。
注意:
对于等间隔分布的奇数个样本,如果函数是3阶或更小的多项式,则结果是准确的。如果样本间距不相等,则仅当函数为2阶或更小的多项式时,结果才是精确的。
例子:
>>> from scipy import integrate >>> x = np.arange(0, 10) >>> y = np.arange(0, 10)
>>> integrate.simps(y, x) 40.5
>>> y = np.power(x, 3) >>> integrate.simps(y, x) 1642.5 >>> integrate.quad(lambda x: x**3, 0, 9)[0] 1640.25
>>> integrate.simps(y, x, even='first') 1644.5
源码:
scipy.integrate.simps的API实现见:[源代码]
相关用法
- python scipy integrate.quad用法及代码示例
- python scipy integrate.romberg用法及代码示例
- python scipy integrate.quadrature用法及代码示例
- python scipy integrate.fixed_quad用法及代码示例
- python scipy integrate.dblquad用法及代码示例
- python scipy integrate.tplquad用法及代码示例
- python scipy integrate.romb用法及代码示例
- python scipy integrate.cumtrapz用法及代码示例
- python scipy integrate.ode用法及代码示例
- python scipy integrate.odeint用法及代码示例
注:本文由纯净天空筛选整理自 scipy.integrate.simps。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。