Filter löschen
Filter löschen

Find the first incidence of 1 in a logical vector and replace all other 1s by zero

2 Ansichten (letzte 30 Tage)
I need to find the first incidence of 1 in a logical vector and replace all other 1s by zero.
For example, I have a logical vector like this: V = [ 0 1 0 0 1 0 1 ] and I need a function/code that will tell me that will yield V=[0 1 0 0 0 0 0]..
Since I am having a matrix (10000,35) size, how to run this code for each row?

Akzeptierte Antwort

madhan ravi
madhan ravi am 23 Jul. 2020
Wanted = (cumsum(matrix, 2) == 1) .* matrix

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 23 Jul. 2020
diff([zeros(size(YourMatrix,1),1),~cumprod(~YourMatrix,2)],[],2)

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by