This is a modified version of cumsum, where the accumulated sum is determined along the first non-singleton direction of an input tensor "arr". The accumulated sums are stored in the output tensor "val" at locations of the zeros of arr.
[val, ind] = cumsum_restart0( arr, dim )
if dim is not defined, use first non-singleton dimension
val is the cumulative sum, where the accumulation is reset for zero
ind indicates the locations where the acummulated sum is stored
arr = [3 1 1 0 1 2]';
[val, ind] = cum_sum_restart0( arr );
val = [0 0 5 0 0 3]'
ind = [0 0 1 0 0 1]'
Stephan Koehler (2021). modified cumsum for partial accumulated sums (https://www.mathworks.com/matlabcentral/fileexchange/40893-modified-cumsum-for-partial-accumulated-sums), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!