counting column bits with the same weight in binary array
1 view (last 30 days)
Show older comments
I have a binary array and I want to count the column with the same weight.
I want to do it with function...m-file
I hope that someone can help me to solve it.
Thanks Henry
3 Comments
dpb
on 8 Sep 2015
>> [0:size(a,2)-1;sum(a)]
ans =
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
2 3 4 2 4 4 2 2 2 3 3 2 3 3 3 2 4 3 3 4
>>
So, turns out not as far off as thought if you count from the left rather than using the header row as the column number. Other than missing one '2' (col 8), seems ok...
Accepted Answer
dpb
on 7 Sep 2015
Edited: dpb
on 8 Sep 2015
n=hist(sum(array),0:size(a,1));
N th element of n will contain counts for that number of bits from zero to size(array,1); ie, for all possible totals from no bits set to all.
ADDENDUM
>> [0:size(a,1);hist(sum(a),0:size(a,1))]
ans =
0 1 2 3 4 5 6 7
0 0 7 8 5 0 0 0
>> sum(ans(2,:))==size(a,2) % sanity check...
ans =
1
>>
Total number does equal number of columns in array...
Actually, there are 7,8,5 of wt=2,3,4, respectively.
3 Comments
dpb
on 8 Sep 2015
If it's a subset of rows, only the array indices to refer to the subset...
r1=3; r2=6;
n=hist(sum(array(r1:r2,:)),0:size(a,1));
More Answers (0)
See Also
Categories
Find more on Logical 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!