Effacer les filtres
Effacer les filtres

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

14 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

John D'Errico
John D'Errico le 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
  2 commentaires
Tasi
Tasi le 4 Mar 2015
Thanks John, I appreciate it!
Praveen Kumar Pakkirisamy
That's clever. THANKS

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Modeling dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by