If I have a vector of either 1\'s or NaN\'s like this:
[1 1 1 NaN 1 1 NaN 1 1 1 1]
How can I reset the cumsum to zero at the location of th
You can try the following two 'vectorized' lines:
A(isnan(A)) = 1-diff([0 find(isnan(A))]); cumsum(A) ans = 1 2 3 0 1 2 0 1 2 3 4
The trick is to substitute NaN with a value that will reset cumsum to 0 at those points.
NaN
cumsum
0