Azzera filtri
Azzera filtri

How can I find consecutive ones and the number of ones in each block?

14 visualizzazioni (ultimi 30 giorni)
I have an example variable defined as x=[5 1 1 1 1 1 7 1 1 5]; I would like to get the number of ones in each block of consecutive ones, so that my output would look like this: [5 2]. Is there a way to do write a command so that is valid in a loop in which the variable changes both its values and length? Thanks.

Risposta accettata

John D'Errico
John D'Errico il 4 Mar 2015
x=[5 1 1 1 1 1 7 1 1 5];
start1 = strfind([0,x==1],[0 1]);
end1 = strfind([x==1,0],[1 0]);
end1 - start1 + 1
ans =
5 2

Più risposte (0)

Categorie

Scopri di più su Modeling in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by