Counting consecutive values in a matrix

20 views (last 30 days)
Hello, I'm having trouble keeping tally of my 1's and 0's within a matrix. I simulated a coin flip lets say a 100 times. It'll list values within a (100,1) matrix. I want to create some loops that will count how many one's in a row and how many zeros in a row and it'll alternate. For example lets say A = [1,0,1,1,1,0,0,0,0,1,0,0,1....] so the result would yield B = [1,1,3,4,1,2,1...] Thanks!

Accepted Answer

Guillaume
Guillaume on 20 Mar 2017
No loop needed:
diff([0 find(diff(A)) numel(A)])
  2 Comments
Gabriela Garcia
Gabriela Garcia on 17 Jan 2021
Do you know how could one do this for columns?
Bruno Luong
Bruno Luong on 17 Jan 2021
if isrow(A)
diff([0, find(diff(A)), numel(A)])
else
diff([0; find(diff(A)); numel(A)])
end

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices 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!