Writing code to calculate number of ones & zeros in the logic matrix

Hi all, I'd like to write code to find number of ones & number of zeros ones respectively in logic matrix (1x34) attached below: I will be so grateful if someone help me. Best Regards

 Accepted Answer

RLE = diff([0 find(diff(A)~=0) length(A)]);

2 Comments

It works perfectly. Can you please find the average value of zeros and ones ex: average for zeros =4+5+3+2+2/4=4 average for ones= 5+3+6+2+2/4=4.5 thanks for your help again

sorry, average for zeros =4+5+3+2+2/5=3.2 average for ones= 5+3+6+2+2/5=3.6

Sign in to comment.

More Answers (1)

If you have the Image Processing Toolbox, this is how you do it:
% Create sample data
A = [0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1]
% Label the 0's.
labeled0 = bwlabel(~A)
% Count the number of 0's.
measurements0 = regionprops(labeled0, 'Area');
% Label the 1's.
labeled1 = bwlabel(A)
% Count the number of 1's.
measurements1 = regionprops(labeled1, 'Area');
% Stitch together into a single matrix.
zeroAreas = [measurements0.Area]
onesAreas = [measurements1.Area]
bothAreas = [zeroAreas;onesAreas]
% Reshape into a row vector.
finalOutput = bothAreas(:)'

1 Comment

Its works too, many thanks But the code for Mr. Roberson is much easier.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!