Which row has the minimum non zero element?

2 views (last 30 days)
Hello i have a matrix and i want to find which is the row with minimum nonzeros elements.I dont want the number of non zeros,but i want to know which is the row.

Accepted Answer

Star Strider
Star Strider on 21 Mar 2015
I’m not certain what you mean by ‘minimum nonzeros elements’. This takes the row sum of the rows with nonzero elements and finds the row with the smallest row sum:
M = randi(51, 20, 5)-1;
[r0,~] = find(M == 0);
Mnz = M(setdiff([1:size(M,1)],r0),:);
[Mu, ix] = sort(sum(M,2));
Row_min_nz = is(x); % Row With Minimum Row Sum

More Answers (2)

Jan
Jan on 21 Mar 2015
M = randi(5, 6, 6) - 1;
[V, Index] = min(sum(M == 0, 2));

Konstantinos Sofos
Konstantinos Sofos on 21 Mar 2015
a = [2,2,3;0,2,5;1 2 3]
[row,column]=find(a==min(min(a(a>0))))

Community Treasure Hunt

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

Start Hunting!