MATLAB: поиск n-го наименьшего элемента в каждой строке - PullRequest
3 голосов
/ 21 января 2012

Я хочу найти n-й наименьший элемент для каждой строки в матрице.

Пример:

n = 2
M = [1, 2, 3; 4, 5, 6; 7, 8 9]
Result = [2, 5, 8]

1 Ответ

4 голосов
/ 21 января 2012

Сначала сортируйте матрицу по второму измерению (то есть сортируйте каждую строку в порядке возрастания):

n = 2
M = [1, 2, 3; 4, 5, 6; 7, 8 9]

M_SORTED = sort(M,2)
M_SORTED =
     1     2     3
     4     5     6
     7     8     9

n-й столбец матрицы будет содержать результат:

RESULT = M_SORTED(:, n)
RESULT = 
     2
     5
     8
...