sort a line of the matrix and change the other lines according the line sorted

3 ビュー (過去 30 日間)
Hello, i want to sort a line of the matrix and change the other lines according the line sorted. For example, i have a matrix like this:
a = [5 3 4 2 6; 1 2 3 4 5].
i want to sort line 1 and change line 2 according the sort of line 1, like this:
aSorted = [2 3 4 5 6; 4 2 3 5 1]
How can i do that??
Thank you for your help.

採用された回答

Jon
Jon 2015 年 8 月 10 日
編集済み: Jon 2015 年 8 月 10 日
Use sortrows.
a = a'; % transpose your matrix
asorted = sortrows(a,1); % sort by first column (row)
asorted = asorted'; % de-transpose your matrix
You can combine all that code into one line:
asorted = sortrows(a')';

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2015 年 8 月 10 日
[~,ii] = sort(a(1,:));
out = a(:,ii);

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by