Learn R Programming

pracma (version 0.5-3)

quad: Adaptive Simpson Quadrature

Description

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

Usage

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

Arguments

f
a one-dimensional function; need not be vectorized.
xa
lower limit of integration; must be finite
xb
upper limit of integration; must be finite
tol
accuracy requested; default is sqrt(.Machine.double.eps).
trace
logical; shall a trace be printed?
...
additional arguments to be passed to f.

Value

  • A single numeric value, the computed integral.

Details

Realizes adaptive Simpson quadrature in R through recursive calls.

References

Gander, W. and W. Gautschi (2000). ``Adaptive Quadrature --- Revisited''. BIT, Vol. 40, 2000, pp. 84-101. http://www.inf.ethz.ch/personal/gander

See Also

integrate

Examples

Run this code
# options(digits=15)
f <- function(x) x * cos(0.1*exp(x)) * sin(0.1*pi*exp(x))
quad(f, 0, 4)              # 1.2821290747821
quad(f, 0, 4, tol=10^-15)  # 1.2821290743501
integrate(f, 0, 4)
# 1.28212907435010 with absolute error < 4.1e-06

xx <- seq(0, 4, length.out = 200)
yy <- f(xx)
plot(xx, yy, type = 'l'); grid()

Run the code above in your browser using DataLab