[TOC]

cumsum

Cumulative sum

Usage

cumsum(A)

cumsum(A, dim)

cumsum(A, option)

cumsum(A, dim, option)

cumsum(A, option1, option2)

cumsum(A, dim, option1, option2)

OptionMeaningDefault
'forward'The cumulative sums are obtained in the forward direction.Default for cumsum, cumprod, cummin, cummax
'reverse'The cumulative sums are obtained in the reverse direction.Not default for cumsum, cumprod, cummin and cummax
'includenan'Include NaN in the operationDefault for cumsum, cumprod
'omitnan'Omit NaN in the operationDefault for cummax, cummin

Examples

Input
% Matrix of size [3,4]
A = reshape(1:12,3,4)

% Cumulative sums
s = cumsum(A)
Output
A = 
 1.0000   4.0000   7.0000   10.000
 2.0000   5.0000   8.0000   11.000
 3.0000   6.0000   9.0000   12.000

s = 
 1.0000   4.0000   7.0000   10.000
 3.0000   9.0000   15.000   21.000
 6.0000   15.000   24.000   33.000
Input
% Matrix of size [3,4]
A = reshape(1:12,3,4)

% Cumulative sums along 2nd dimension
s = cumsum(A,2)
Output
A = 
 1.0000   4.0000   7.0000   10.000
 2.0000   5.0000   8.0000   11.000
 3.0000   6.0000   9.0000   12.000

s = 
 1.0000   5.0000   12.000   22.000
 2.0000   7.0000   15.000   26.000
 3.0000   9.0000   18.000   30.000
Input
a = [1:5 nan 6]

% Default options
disp('Include nan, forward')
cumsum(a)

% Include nan, forward
disp('Include nan, forward.')
cumsum(a, 'includenan')

% Omit NaN, forward
disp('Omit nan, forward')
cumsum(a, 'omitnan')

% Include nan, forward
disp('Include nan, forward')
cumsum(a, 'forward')

% Include nan, reverse direction
disp('Include nan, reverse')
cumsum(a, 'reverse')
Output
a = 
 1.0000   2.0000   3.0000   4.0000   5.0000   NaN      6.0000

Include nan, forward

ans = 
 1.0000   3.0000   6.0000   10.000   15.000   NaN      NaN   

Include nan, forward.

ans = 
 1.0000   3.0000   6.0000   10.000   15.000   NaN      NaN   

Omit nan, forward

ans = 
 1.0000   3.0000   6.0000   10.000   15.000   15.000   21.000

Include nan, forward

ans = 
 1.0000   3.0000   6.0000   10.000   15.000   NaN      NaN   

Include nan, reverse

ans = 
 NaN      NaN      NaN      NaN      NaN      NaN      6.0000