Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
Ali Noori
Ali Noori le 27 Mai 2015
Commenté : Ali Noori le 27 Mai 2015
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

Réponse acceptée

Walter Roberson
Walter Roberson le 27 Mai 2015
RLE = diff([0 find(diff(A)~=0) length(A)]);
  2 commentaires
Ali Noori
Ali Noori le 27 Mai 2015
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
Ali Noori
Ali Noori le 27 Mai 2015

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

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 27 Mai 2015
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 commentaire
Ali Noori
Ali Noori le 27 Mai 2015
Its works too, many thanks But the code for Mr. Roberson is much easier.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by