MATLAB Function Reference    

Numerically evaluate integral, adaptive Lobatto quadrature



q = quadl(fun,a,b) approximates the integral of function fun from a to b, to within an error of 10-6 using recursive adaptive Lobatto quadrature. fun accepts a vector x and returns a vector y, the function fun evaluated at each element of x.

q = quadl(fun,a,b,tol) uses an absolute error tolerance of tol instead of the default, which is 1.0e-6. Larger values of tol result in fewer function evaluations and faster computation, but less accurate results.

quadl(fun,a,b,tol,trace) with non-zero trace shows the values of [fcnt a b-a q] during the recursion.

quadl(fun,a,b,tol,trace,p1,p2,...) provides for additional arguments p1,p2,... to be passed directly to function fun, fun(x,p1,p2,...). Pass empty matrices for tol or trace to use the default values.

[q,fcnt] = quadl(...) returns the number of function evaluations.

Use array operators .*, ./ and .^ in the definition of fun so that it can be evaluated with a vector argument.

The function quad may be more efficient with low accuracies or nonsmooth integrands.


The function fun can be:


quadl implements a high order method using an adaptive Gauss/Lobatto qudrature rule.


quadl may issue one of the following warnings:

'Minimum step size reached' indicates that the recursive interval subdivision has produced a subinterval whose length is on the order of roundoff error in the length of the original interval. A nonintegrable singularity is possible.

'Maximum function count exceeded' indicates that the integrand has been evaluated more than 10,000 times. A nonintegrable singularity is likely.

'Infinite or Not-a-Number function value encountered' indicates a floating point overflow or division by zero during the evaluation of the integrand in the interior of the interval.

See Also

dblquad, inline, quad, triplequad, @ (function handle)


[1]  Gander, W. and W. Gautschi, "Adaptive Quadrature - Revisited", BIT, Vol. 40, 2000, pp. 84-101. This document is also available at http://

  quad, quad8 questdlg