next up previous contents
Next: SUM Sum Function Up: Elementary Functions Previous: FLOOR Floor Function   Contents

Subsections

CUMSUM Cumulative Summation Function

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.

Function Internals

The output is computed via

$\displaystyle y(m_1,\ldots,m_{d-1},j,m_{d+1},\ldots,m_{p}) =
\sum_{k=1}^{j} x(m_1,\ldots,m_{d-1},k,m_{d+1},\ldots,m_{p}).
$

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 = 
  <int32>  - size: [3 3]
 
Columns 1 to 3
             5              1              3  
             3              2              1  
             0              3              1  
--> cumsum(A)
ans = 
  <int32>  - size: [3 3]
 
Columns 1 to 3
             5              1              3  
             8              3              4  
             8              6              5

To compute the cumulative sum along the columns:

--> cumsum(A,2)
ans = 
  <int32>  - size: [3 3]
 
Columns 1 to 3
             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 = 
  <int32>  - size: [2 2 2]
(:,:,1) = 
 
Columns 1 to 2
             5              2  
             8              9  
(:,:,2) = 
 
Columns 1 to 2
             1              0  
             3              0  
--> cumsum(B,3)
ans = 
  <int32>  - size: [2 2 2]
(:,:,1) = 
 
Columns 1 to 2
             5              2  
             8              9  
(:,:,2) = 
 
Columns 1 to 2
             6              2  
            11              9



Samit K. Basu 2005-03-16