SciPy

scipy.interpolate.UnivariateSpline.integral

UnivariateSpline.integral(self, a, b)[source]

Return definite integral of the spline between two given points.

Parameters
afloat

Lower limit of integration.

bfloat

Upper limit of integration.

Returns
integralfloat

The value of the definite integral of the spline between limits.

Examples

>>> from scipy.interpolate import UnivariateSpline
>>> x = np.linspace(0, 3, 11)
>>> y = x**2
>>> spl = UnivariateSpline(x, y)
>>> spl.integral(0, 3)
9.0

which agrees with \(\int x^2 dx = x^3 / 3\) between the limits of 0 and 3.

A caveat is that this routine assumes the spline to be zero outside of the data limits:

>>> spl.integral(-1, 4)
9.0
>>> spl.integral(-1, 0)
0.0