FreeMat: CUMSUM Cumulative Summation Function

FreeMat

- Main Page
- Related Pages

CUMSUM Cumulative Summation Function

Section: Elementary Functions

# Usage

Computes the cumulative sum of an n-dimensional array along a given dimension. The general syntax for its use is

      y = cumsum(x,d)

where `x` is a multidimensional array of numerical type, and `d` is the dimension along which to perform the cumulative sum. The output `y` is the same size of `x`. Integer types are promoted to `int32`. If the dimension `d` is not specified, then the cumulative sum is applied along the first non-singular dimension.

# Internals

The output is computed via

# Example

The default action is to perform the cumulative sum along the first non-singular dimension.

    --> A = [5,1,3;3,2,1;0,3,1]

    A =
     5 1 3
     3 2 1
     0 3 1

    --> cumsum(A)

    ans =
     5 1 3
     8 3 4
     8 6 5

To compute the cumulative sum along the columns:

    --> cumsum(A,2)

    ans =
     5 6 9
     3 5 6
     0 3 4

The cumulative sum also works along arbitrary dimensions

    --> B(:,:,1) = [5,2;8,9];
    --> B(:,:,2) = [1,0;3,0]

    B =

    (:,:,1) =
     5 2
     8 9

    (:,:,2) =
     1 0
     3 0

    --> cumsum(B,3)

    ans =

    (:,:,1) =
      5  2
      8  9

    (:,:,2) =
      6  2
     11  9