trapz {caTools} | R Documentation |
Computes the integral of Y with respect to X using trapezoid rule integration.
trapz(x, y)
x |
Sorted vector of x-axis values. |
y |
Vector of y-axis values. |
The function has only two lines:
idx = 2:length(x) return (as.double( (x[idx] - x[idx-1]) %*% (y[idx] + y[idx-1])) / 2)
Integral of Y with respect to X or area under the Y curve.
Trapezoid rule is not the most accurate way of calculating integrals (it is exact for linear functions), for example Simpson's rule (exact for linear and quadratic functions) is more accurate.
Jarek Tuszynski (SAIC) jaroslaw.w.tuszynski@saic.com
D. Kincaid & W. Chaney (1991), Numerical Analysis, p.445
Matlab's trapz
function (http://www.mathworks.com/access/helpdesk/help/techdoc/ref/trapz.html)
# integral of sine function in [0, pi] range suppose to be exactly 2. # lets calculate it using 10 samples: x = (1:10)*pi/10 trapz(x, sin(x)) # now lets calculate it using 1000 samples: x = (1:1000)*pi/1000 trapz(x, sin(x))