Cumulative trapezoidal numerical integration

`Q = cumtrapz(`

computes the approximate
cumulative integral of `Y`

)`Y`

via the trapezoidal method with unit spacing. The size of `Y`

determines the dimension to integrate along:

If

`Y`

is a vector, then`cumtrapz(Y)`

is the cumulative integral of`Y`

.If

`Y`

is a matrix, then`cumtrapz(Y)`

is the cumulative integral over each column.If

`Y`

is a multidimensional array, then`cumtrapz(Y)`

integrates over the first dimension whose size does not equal 1.

`Q = cumtrapz(`

integrates `X`

,`Y`

)`Y`

with respect to the coordinates or scalar spacing
specified by `X`

.

If

`X`

is a vector of coordinates, then`length(X)`

must be equal to the size of the first dimension of`Y`

whose size does not equal 1.If

`X`

is a scalar spacing, then`cumtrapz(X,Y)`

is equivalent to`X*cumtrapz(Y)`

.

`Q = cumtrapz(___,`

integrates along the dimension `dim`

)`dim`

using any of the previous
syntaxes. You must specify `Y`

, and optionally can specify
`X`

. If you specify `X`

, then it can be a
scalar or a vector with length equal to `size(Y,dim)`

. For example,
if `Y`

is a matrix, then `cumtrapz(X,Y,2)`

cumulatively integrates each row of `Y`

.

Use

`trapz`

and`cumtrapz`

to perform numerical integrations on discrete data sets. Use`integral`

,`integral2`

, or`integral3`

instead if a functional expression for the data is available.`trapz`

reduces the size of the dimension it operates on to 1, and returns only the final integration value.`cumtrapz`

also returns the intermediate integration values, preserving the size of the dimension it operates on.