Accelerating the pace of engineering and science

# cumtrapz

Cumulative trapezoidal numerical integration

## Syntax

Z = cumtrapz(Y)
Z = cumtrapz(X,Y)
Z = cumtrapz(___,dim)

## Description

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).

## Examples

### Example 1

```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
```

### Example 2

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
```