Я хочу отсортировать матрицу по определенному столбцу. Есть функция sort, но она сортирует все столбцы независимо.
Например, если моя матрица data:
1 3
5 7
-1 4
Тогда желаемый результат (сортировка по первому столбцу) будет:
-1 4
1 3
5 7
Но результат sort(data):
-1 3
1 4
5 7
Как отсортировать эту матрицу по первому столбцу?





Альтернатива sortrows(), которая может применяться в более широких сценариях.
сохраните индексы сортировки строки / столбца, по которым вы хотите упорядочить:
[~,idx]=sort(data(:,1));
переупорядочить все строки / столбцы в соответствии с предыдущими отсортированными индексами
data=data(idx,:)
благодаря. Интересно, почему я упустил из виду это в разделе «См. также» для сортировки