Estimate the integral of one-dimensional function using the trapezoidal rule.

integrateTrapezoid(x, y, type = c("A", "dA", "cA"), xmin, xmax)

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, |

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”.

There is no handling of `NA`

values.

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)#> [1] 2.006173#> [1] 2.006173#> [1] 2.006173#> [1] 2.006173#> [1] 18.05556