MATLAB: Select the column with at least one 1 in it

arraybinaryfindmatrixmatrix arraymatrix manipulationmaxminsum

Hey people
Assume I have a m by n matrix of binary data. How would I be able to identify the column that has the least number of ones?
I used the sum function and compared the max and min. Later on in many loops I realised that it also identifies the column with zero 1s too. How do I avoid that?
The column to be selected must have a minimum of one 1s to n number of ones.
b = sum(H);
bmax = max(b);
bmin = min(b);
RC = find(b==min(b));
%This is what I am using which identifies the column with zero ones. Any simple methods?

Best Answer

find(any(H,1))
If you need at most n ones then:
b = sum(H,1);
find(b >= 1 & b <= n)