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

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

 채택된 답변

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

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개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

질문:

2013년 4월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by