#### Previous topic

scipy.interpolate.BSpline.antiderivative

#### Next topic

scipy.interpolate.BSpline.construct_fast

# scipy.interpolate.BSpline.integrate

`BSpline.``integrate`(a, b, extrapolate=None)

  Compute a definite integral of the spline.

  Parameters:

  a : float

  > Lower limit of integration.

  b : float

  > Upper limit of integration.

  extrapolate : bool, optional

  > whether to extrapolate beyond the base interval, `t[k] .. t[-k-1]`, or take the spline to be zero outside of the base interval. Default is True.

  Returns:

  I : array_like

  > Definite integral of the spline over the interval `[a, b]`.

  Examples

  Construct the linear spline `x if x < 1 else 2 - x` on the base interval \([0, 2]\), and integrate it

      >>> from scipy.interpolate import BSpline
      >>> b = BSpline.basis_element([0, 1, 2])
      >>> b.integrate(0, 1)
      array(0.5)

  If the integration limits are outside of the base interval, the result is controlled by the extrapolate parameter

      >>> b.integrate(-1, 1)
      array(0.0)
      >>> b.integrate(-1, 1, extrapolate=False)
      array(0.5)

      >>> import matplotlib.pyplot as plt
      >>> fig, ax = plt.subplots()
      >>> ax.grid(True)
      >>> ax.axvline(0, c='r', lw=5, alpha=0.5)  # base interval
      >>> ax.axvline(2, c='r', lw=5, alpha=0.5)
      >>> xx = [-1, 1, 2]
      >>> ax.plot(xx, b(xx))
      >>> plt.show()

  (Source code)