Last chance! 50% off unlimited learning
Sale ends in
y
at the points
x
.trapz(x, y) cumtrapz(x, y)
min(x)
to max(x)
.
Or a matrix of the same size as y
.(x, 0)
and (x, y)
are taken as vertices of a
polygon and the area is computed using polyarea
. This approach
matches exactly the approximation for integrating the function using the
trapezoidal rule with basepoints x
. cumtrapz
computes the cumulative integral of y
with respect
to x
using trapezoidal integration. x
and y
must be
vectors of the same length, or x
must be a vector and y
a
matrix whose first dimension is length(x)
.
Inputs x
and y
can be complex.
polyarea
# Calculate the area under the sine curve from 0 to pi:
n <- 101
x <- seq(0, pi, len = n)
y <- sin(x)
trapz(x, y) #=> 1.999835504
# Use a correction term at the boundary: -h^2/12*(f'(b)-f'(a))
h <- x[2] - x[1]
ca <- (y[2]-y[1]) / h
cb <- (y[n]-y[n-1]) / h
trapz(x, y) - h^2/12 * (cb - ca) #=> 1.999999969
# Use two complex inputs
z <- exp(1i*pi*(0:100)/100)
ct <- cumtrapz(z, 1/z)
ct[101] #=> 0+3.14107591i
Run the code above in your browser using DataLab