Cumulative trapezoidal numerical integration

`Z = cumtrapz(Y)`

Z = cumtrapz(X,Y)

Z = cumtrapz(___,dim)

`Z = cumtrapz(Y)`

computes
an approximation of the cumulative integral of `Y`

via
the trapezoidal method with unit spacing. To compute the integral
with other than unit spacing, multiply `Z`

by the
spacing increment. Input `Y`

can be complex.

For vectors, `cumtrapz(Y)`

is a vector containing
the cumulative integral of `Y`

.

For matrices, `cumtrapz(Y)`

is a matrix the
same size as `Y`

with the cumulative integral over
each column.

For multidimensional arrays, `cumtrapz(Y)`

works
across the first nonsingleton dimension.

`Z = cumtrapz(X,Y)`

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 column
vector and `Y`

an array whose first nonsingleton
dimension is `length(X)`

. `cumtrapz`

operates
across this dimension. Inputs `X`

and `Y`

can
be complex.

If `X`

is a column vector and `Y`

an
array whose first nonsingleton dimension is `length(X)`

, `cumtrapz(X,Y)`

operates
across this dimension.

`Z = cumtrapz(___,dim)`

integrates
across the dimension of `Y`

specified by scalar `dim`

,
using any of the input arguments in the previous syntaxes. The length
of `X`

must be the same as `size(Y,dim)`

.

Y = [0 1 2; 3 4 5]; cumtrapz(Y,1) ans = 0 0 0 1.5000 2.5000 3.5000 cumtrapz(Y,2) ans = 0 0.5000 2.0000 0 3.5000 8.0000

This example uses two complex inputs:

z = exp(1i*pi*(0:100)/100); ct = cumtrapz(z,1./z); ct(end) ans = 0.0000 + 3.1411i

Was this topic helpful?