R: Adaptive Lobatto Quadrature

quadl {pracma} | R Documentation

## Adaptive Lobatto Quadrature

### Description

Adaptive quadrature of functions of one variable over a finite interval.

### Usage

    quadl(f, xa, xb, tol = .Machine$double.eps^0.5, trace = FALSE, ...)

### Arguments

`f` | a one-dimensional function; needs to be vectorized.
`xa` | lower limit of integration; must be finite
`xb` | upper limit of integration; must be finite
`tol` | accuracy requested.
`trace` | logical; shall a trace be printed?
`...` | additional arguments to be passed to `f`.

### Details

Realizes adaptive Lobatto quadrature in R through recursive calls.

The function `f` needs to be vectorized though this could be changed easily.

### Value

A single numeric value, the computed integral.

### Note

Compared to Gaussian quadrature, Lobatto integration include the end points of the integration interval. It is accurate for polynomials up to degree 2n-3, where n is the number of integration points.

### Author(s)

Copyright (c) 1998 Walter Gautschi for the Matlab version published as part of the referenced article. R implementation by Hans W Borchers 2011.

### References

Gander, W. and W. Gautschi (2000). “Adaptive Quadrature — Revisited”. BIT, Vol. 40, 2000, pp. 84-101.

### See Also

`quad`

### Examples

    # options(digits=15)
    f <- function(x) x * cos(0.1*exp(x)) * sin(0.1*pi*exp(x))
    quadl(f, 0, 4)              # 1.2821290743501
    integrate(f, 0, 4)
    # 1.28212907435010 with absolute error < 4.1e-06

    ## Not run:
    xx <- seq(0, 4, length.out = 200)
    yy <- f(xx)
    plot(xx, yy, type = 'l')
    grid()
    ## End(Not run)

[Package pracma version 2.0.4 Index]