Filter löschen
Filter löschen

Counting the number of runs in a sequence

7 Ansichten (letzte 30 Tage)
olig
olig am 8 Jul. 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

Antworten (5)

Matt J
Matt J am 8 Jul. 2013
Bearbeitet: Matt J am 8 Jul. 2013
N_runs=nnz(diff(A))+1;

Azzi Abdelmalek
Azzi Abdelmalek am 8 Jul. 2013
numel(strfind(A,[0,1]))+ numel(strfind(A,[1,0]))+1

Jan
Jan am 8 Jul. 2013

David Sanchez
David Sanchez am 8 Jul. 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

Matt J
Matt J am 8 Jul. 2013
Bearbeitet: Matt J am 8 Jul. 2013
If you have the Image Processing Toolbox,
C=bwconncomp([A,~A]);
N_runs=C.NumObjects;

Kategorien

Mehr zu Images 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