Which row has the minimum non zero element?

2 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Star Strider
Star Strider il 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

Più risposte (2)

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

Konstantinos Sofos
Konstantinos Sofos il 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!

Translated by