simpson — SciPy v1.15.3 Manual (original) (raw)
scipy.integrate.
scipy.integrate.simpson(y, x=None, *, dx=1.0, axis=-1)[source]#
Integrate y(x) using samples along the given axis and the composite Simpson’s rule. If x is None, spacing of dx is assumed.
Parameters:
yarray_like
Array to be integrated.
xarray_like, optional
If given, the points at which y is sampled.
dxfloat, optional
Spacing of integration points along axis of x. Only used when_x_ is None. Default is 1.
axisint, optional
Axis along which to integrate. Default is the last axis.
Returns:
float
The estimated integral computed with the composite Simpson’s rule.
Notes
For an odd number of samples that are equally spaced the result is exact if the function is a polynomial of order 3 or less. If the samples are not equally spaced, then the result is exact only if the function is a polynomial of order 2 or less.
References
[1]
Cartwright, Kenneth V. Simpson’s Rule Cumulative Integration with MS Excel and Irregularly-spaced Data. Journal of Mathematical Sciences and Mathematics Education. 12 (2): 1-9
Examples
from scipy import integrate import numpy as np x = np.arange(0, 10) y = np.arange(0, 10)
integrate.simpson(y, x=x) 40.5
y = np.power(x, 3) integrate.simpson(y, x=x) 1640.5 integrate.quad(lambda x: x**3, 0, 9)[0] 1640.25