scipy.interpolate.UnivariateSpline.integral#

UnivariateSpline.integral(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

>>> import numpy as np
>>> 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