Find indicies of k smallest matrix elements

10 vues (au cours des 30 derniers jours)
Brady Dean
Brady Dean le 29 Sep 2020
Commenté : madhan ravi le 29 Sep 2020
I'm trying to find the indicies of smallest k matrix elements.
For example if I have
A = [10 5 2; 34 5 21; 4 6 8];
and I want to find the smallest 2 elements indicies then I want indicies 7 and 3.

Réponse acceptée

Xingwang Yong
Xingwang Yong le 29 Sep 2020
[~, indices] = sort(A(:), 'ascend');
ind = indices(1:k);
  1 commentaire
Brady Dean
Brady Dean le 29 Sep 2020
Ah, I forgot about the A(:) trick. This works perfectly.

Connectez-vous pour commenter.

Plus de réponses (1)

Sindar
Sindar le 29 Sep 2020
[~,idx] = mink(A,2);
  3 commentaires
Brady Dean
Brady Dean le 29 Sep 2020
I'm using R2020b, that's the newest isn't it?
mink gives minimums over a dimension, not the whole matrix. Sindar's code doesn't work for my example above.
madhan ravi
madhan ravi le 29 Sep 2020
Unfortunately not everyone has the Crystal Ball.

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