Как сохранить строки при сортировке матрицы в MATLAB? - PullRequest
4 голосов
/ 27 мая 2010

У меня есть матрица 2 на 3, и я хочу отсортировать ее по первому столбцу. Вот пример:

data   will change to -->  new data
11 33                      10 22
22 44                      11 33 
10 22                      22 44 

У меня есть этот код для сортировки матрицы A, но он не работает хорошо:

sort(A,1,'ascend');

Ответы [ 2 ]

7 голосов
/ 27 мая 2010

Функция SORTROWS справится с этим:

B = sortrows(A);
3 голосов
/ 27 мая 2010

Как подсказывает @gnovice, sortrows - лучшее решение здесь. Вы также можете указать более одного вывода для команд sort и sortrows, которые будут возвращать индекс сортировки. Вы можете использовать это для изменения других ваших столбцов или просто для отслеживания перестановки. Например:

A=rand(10,2);
[B, idx]=sortrows(A);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...