# trapz

From pracma v1.9.9 by HwB
0th

Percentile

##### 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 = 1e-07, ...)
##### Arguments
x
x-coordinates of points on the x-axis
y
y-coordinates 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.

polyarea

• trapz
• cumtrapz
• trapzfun
##### 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[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

f <- function(x) x^(3/2)          #
trapzfun(f, 0, 1)                 #=> 0.4 with 11 iterations

Documentation reproduced from package pracma, version 1.9.9, License: GPL (>= 3)

### Community examples

Looks like there are no examples yet.