integrate.xy: Cheap Numerical Integration through Data points.

View source: R/integratexy.R

integrate.xyR Documentation

Cheap Numerical Integration through Data points.

Description

Given (x_i, f_i) where f_i = f(x_i), compute a cheap approximation of \int_a^b f(x) dx.

Usage

integrate.xy(x, fx, a, b, use.spline=TRUE, xtol=2e-08)

Arguments

x

abscissa values.

fx

corresponding values of f(x).

a,b

the boundaries of integration; these default to min(x) and max(x) respectively.

use.spline

logical; if TRUE use an interpolating spline.

xtol

tolerance factor, typically around sqrt(.Machine$double.eps) ......(fixme)....

Details

Note that this is really not good for noisy fx values; probably a smoothing spline should be used in that case.

Also, we are not yet using Romberg in order to improve the trapezoid rule. This would be quite an improvement in equidistant cases.

Value

the approximate integral.

Author(s)

Martin Maechler, May 1994 (for S).

See Also

integrate for numerical integration of functions.

Examples

 x <- 1:4
 integrate.xy(x, exp(x))
 print(exp(4) - exp(1), digits = 10) # the true integral

 for(n in c(10, 20,50,100, 200)) {
   x <- seq(1,4, len = n)
   cat(formatC(n,wid=4), formatC(integrate.xy(x, exp(x)), dig = 9),"\n")
 }

mmaechler/sfsmisc documentation built on Feb. 28, 2024, 4:18 a.m.