Effacer les filtres
Effacer les filtres

Counting the number of runs in a sequence

7 vues (au cours des 30 derniers jours)
olig
olig le 8 Juil 2013
I have a sequence made up a number of 1's and 0's and I want to count how many runs of numbers occur within the sequence. For example taken the matrix
A=[1,1,1,0,0,1,1,1,1,0,0,0,0,1]
The 1st run: 1,1,1 The 2nd run: 0,0 The 3rd run: 1,1,1,1 The 4th run: 0,0,0,0 The 5th run: 1,
Therefore the total number of runs is 5.
Any help would be much appreciated thanks

Réponses (5)

Matt J
Matt J le 8 Juil 2013
Modifié(e) : Matt J le 8 Juil 2013
N_runs=nnz(diff(A))+1;

Azzi Abdelmalek
Azzi Abdelmalek le 8 Juil 2013
numel(strfind(A,[0,1]))+ numel(strfind(A,[1,0]))+1

Jan
Jan le 8 Juil 2013

David Sanchez
David Sanchez le 8 Juil 2013
A=[1,1,1,0,0,1,1,1,1,0,0,0,0,1];
N_runs = 1;
for k=2:length(A)
if A(k)~=A(k-1)
N_runs = N_runs +1;
end
end
  1 commentaire
Jan
Jan le 8 Juil 2013
Vectorized:
N_runs = sum(A(2:end) ~= A(1:end-1));

Connectez-vous pour commenter.


Matt J
Matt J le 8 Juil 2013
Modifié(e) : Matt J le 8 Juil 2013
If you have the Image Processing Toolbox,
C=bwconncomp([A,~A]);
N_runs=C.NumObjects;

Catégories

En savoir plus sur Images 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