Counting the number of runs in a sequence

2 views (last 30 days)
olig
olig on 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

Answers (5)

Matt J
Matt J on 8 Jul 2013
Edited: Matt J on 8 Jul 2013
N_runs=nnz(diff(A))+1;

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

Jan
Jan on 8 Jul 2013

David Sanchez
David Sanchez on 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 on 8 Jul 2013
Edited: Matt J on 8 Jul 2013
If you have the Image Processing Toolbox,
C=bwconncomp([A,~A]);
N_runs=C.NumObjects;

Categories

Find more on Wavelet Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!