How can I find the n smallest numbers in a two-dimensional array of m numbers?
3 views (last 30 days)
Show older comments
For example, with this 2x5 matrix (m=10 and n=4), the expected answer is
(2,9), (1,5), (1,3), (2,10)
111 , 112, 145, 212
236 245 145 244 112
225 232 266 111 212
2 Comments
Randy Souza
on 15 Apr 2013
@ankita: I tried to edit this to make the question more clear, please edit it yourself if I have distorted the meaning...
Accepted Answer
Iman Ansari
on 13 Apr 2013
Hi.
n=4;
a=[236 245 145 244 112; 225 232 266 111 212];
[r c]=size(a);
a = a';
vector=a(:);
[B,IX] = sort(vector);
[fix((IX(1:n)-1)./c)+1 IX(1:n)]
2 Comments
Iman Ansari
on 13 Apr 2013
Finding 4 Smallest values of matrix, but results in which rows and indexing in this order:
1 2 3 4 5
6 7 8 9 10
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices 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!