Skip to main content
`Ctrl`+`K`
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 or ‘periodic’, 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. If ‘periodic’, periodic extrapolation is used. If None (default), use self.extrapolate.

  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()