trapz
Trapezoidal Integration
Compute the area of a function with values y
at the points
x
.
 Keywords
 math
Usage
trapz(x, y) cumtrapz(x, y)
trapzfun(f, a, b, maxit = 25, tol = 1e07, ...)
Arguments
 x
 xcoordinates of points on the xaxis
 y
 ycoordinates of function values
 f
 function to be integrated.
 a, b
 lower and upper border of the integration domain.
 maxit
 maximum number of steps.
 tol
 tolerance; stops when improvements are smaller.
 ...
 arguments passed to the function.
Details
The points (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.
trapzfun
realizes trapezoidal integration and stops when the
differencefrom one step to the next is smaller than tolerance (or the
of iterations get too big). The function will only be evaluated once
on each node.
Value

Approximated integral of the function, discretized through the points
x, y
, from min(x)
to max(x)
.
Or a matrix of the same size as y
.trapzfun
returns a lst with components value
the value of
the integral, iter
the number of iterations, and rel.err
the relative error.
See Also
Examples
# 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[n1]) / 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
f < function(x) x^(3/2) #
trapzfun(f, 0, 1) #=> 0.4 with 11 iterations