#### Previous topic

scipy.integrate.cumtrapz

#### Next topic

scipy.integrate.romb

# scipy.integrate.simps

`scipy.integrate.``simps`(y, x=None, dx=1, axis=-1, even='avg')

  Integrate y(x) using samples along the given axis and the composite Simpson’s rule. If x is None, spacing of dx is assumed.

  If there are an even number of samples, N, then there are an odd number of intervals (N-1), but Simpson’s rule requires an even number of intervals. The parameter ‘even’ controls how this is handled.

  Parameters:

  y : array_like

  > Array to be integrated.

  x : array_like, optional

  > If given, the points at which y is sampled.

  dx : int, optional

  > Spacing of integration points along axis of y. Only used when x is None. Default is 1.

  axis : int, optional

  > Axis along which to integrate. Default is the last axis.

  even : str {‘avg’, ‘first’, ‘last’}, optional

  > ‘avg’ : Average two results:1) use the first N-2 intervals with

  >   a trapezoidal rule on the last interval and 2) use the last N-2 intervals with a trapezoidal rule on the first interval.

  > ‘first’ : Use Simpson’s rule for the first N-2 intervals with

  >   a trapezoidal rule on the last interval.

  > ‘last’ : Use Simpson’s rule for the last N-2 intervals with a

  >   trapezoidal rule on the first interval.

  See also

  `quad`
    adaptive quadrature using QUADPACK
  `romberg`
    adaptive Romberg quadrature
  `quadrature`
    adaptive Gaussian quadrature
  `fixed_quad`
    fixed-order Gaussian quadrature
  `dblquad`
    double integrals
  `tplquad`
    triple integrals
  `romb`
    integrators for sampled data
  `cumtrapz`
    cumulative integration for sampled data
  `ode`
    ODE integrators
  `odeint`
    ODE integrators

  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.