integrateTrapezoid {oce} | R Documentation |
Trapezoidal Integration
Description
Estimate the integral of one-dimensional function using the trapezoidal rule.
Usage
integrateTrapezoid(x, y, type = c("A", "dA", "cA"), xmin, xmax)
Arguments
x , y |
vectors of x and y values. In the normal case, these
vectors are both supplied, and of equal length. There are also two
special cases. First, if |
type |
Flag indicating the desired return value (see “Value”). |
xmin , xmax |
Optional numbers indicating the range of the integration.
These values may be used to restrict the range of integration, or to
extend it; in either case, |
Value
If type="A"
(the default), a single value is returned,
containing the estimate of the integral of y=y(x)
. If
type="dA"
, a numeric vector of the same length as x
, of which
the first element is zero, the second element is the integral between
x[1]
and x[2]
, etc. If type="cA"
, the result is the
cumulative sum (as in cumsum()
) of the values that would be
returned for type="dA"
. See “Examples”.
Bugs
There is no handling of NA
values.
Author(s)
Dan Kelley
Examples
x <- seq(0, 1, length.out = 10) # try larger length.out to see if area approaches 2
y <- 2 * x + 3 * x^2
A <- integrateTrapezoid(x, y)
dA <- integrateTrapezoid(x, y, "dA")
cA <- integrateTrapezoid(x, y, "cA")
print(A)
print(sum(dA))
print(tail(cA, 1))
print(integrateTrapezoid(diff(x[1:2]), y))
print(integrateTrapezoid(y))