2017-01-22 7 views
2

У меня есть матрица, содержащая (6 строк, 2 столбца), как показано на прилагаемом изображении.сортировка матрицы в MATLAB

enter image description here

Я хотел бы иметь новую матрицу (в MATLAB), который содержит вторые столбцы, расположенные в порядке возрастания, но хотел бы сохранить свои соответствующие значения в строке. , например: выходная матрица выглядит следующим образом

enter image description here

ответ

2

Вы можете сделать это следующим образом:

mat = randi(30, [6 2]); % creating the matrix 
[mat(:,2),ind] = sort(mat(:,2)); 
mat(:,1) = mat(ind,1); 

Если у вас есть доступ к функции sortrows, это проще:

mat = sortrows(mat,2); 
Смежные вопросы