Compute the cumulative sum of matrices, specifying the treatment of NaNs.
Updated 1 Sep 2016

View License

nancumsum: Cumulative sum of a matrix, with user-specified treatment of NaNs.

Computes the cumulative sum of matrix A along dimension DIM, allowing the user to replace NaNs with zeros, to skip over them, or to reset on NaNs, maintaining NaNs as placeholders.

USAGE: B = nancumsum(A, DIM, NMODE)


A: Input matrix.

B: Output cumulative sum matrix, treating NaNs as determined by nmode.

DIM: B = nancumsum(A, DIM) returns the nan-cumulative sum of the elements
along the dimension of A specified by scalar DIM. For example,nancumsum(A,1) works down the columns, nancumsum(A,2) works across the rows. If DIM is not specified, it defaults to the first non-singleton dimension of A.

NMODE: specifies how NaNs should be treated. Acceptable values are:
1: REPLACE NaNs with zeros (default).
2: MAINTAIN NaNs as position holders in B. (Skip NaNs without reset.)
3: RESET sum on NaNs, replacing NaNs with zeros.
4: RESET sum on NaNs, maintaining NaNs as position holders.

See also: cumsum, nansum, nancumprod, nanmean, nanmedian, ...
(nancumprod is available from the FEX. Other nan* may require Toolboxes)

Cite As

Brett Shoelson (2024). nancumsum (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on NaNs in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Updated license

Fixes an issue with the vectorization of mode 3.

This submission fixes a bug pointed out by a couple of attentive users. Also, note that I have added new options for the treatment of NaNs, and eliminated one for special treatment of vectors. (Not necessary!)

Updated M file and license text file copyright to The MathWorks, Inc.

added copyright

Fixing a bug (failed for scalar inputs).