How can I find the n smallest numbers in a two-dimensional array of m numbers?

1 回表示 (過去 30 日間)
ankita
ankita 2013 年 4 月 13 日
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 件のコメント
Randy Souza
Randy Souza 2013 年 4 月 15 日
@ankita: I tried to edit this to make the question more clear, please edit it yourself if I have distorted the meaning...

サインインしてコメントする。

採用された回答

Iman Ansari
Iman Ansari 2013 年 4 月 13 日
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 件のコメント
Image Analyst
Image Analyst 2013 年 4 月 13 日
What is this?
Iman Ansari
Iman Ansari 2013 年 4 月 13 日
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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by