How to sort a matrix based on two columns

56 ビュー (過去 30 日間)
Zhan
Zhan 2017 年 5 月 21 日
コメント済み: dpb 2020 年 12 月 23 日
Assume matrix A as follows:
A = [
1 1 20
1 2 32
1 3 10
2 1 45
2 2 10
2 3 15
3 1 43
3 2 90
];
I want to sort matrix A based on the third column. However, I want to keep the first column also sorted. Whenever the ID changed, then column 3 is sorted. The output should be something likes:
B = [
1 3 10
1 1 20
1 2 32
2 2 10
2 3 15
2 1 45
3 1 43
3 2 90
];
  1 件のコメント
Stephen23
Stephen23 2017 年 5 月 22 日
@Zhan: you keep asking questions, but you have not accepted any of the answers to any of your questions. Accepting answers shows which answer solved your question, and is also an easy way for you to say "thank you" for our volunteer effort helping you.

サインインしてコメントする。

採用された回答

dpb
dpb 2017 年 5 月 21 日
>> sortrows(A,[1 3 2]) % doc sortrows for details...
ans =
1 3 10
1 1 20
1 2 32
2 2 10
2 3 15
2 1 45
3 1 43
3 2 90
>>
  3 件のコメント
Muhammad Bilal
Muhammad Bilal 2020 年 12 月 23 日
plz anyone can explain sortrows(A,[1 3 2]) ?
thanks
dpb
dpb 2020 年 12 月 23 日
>> help sortrows
sortrows Sort rows of a matrix.
B = sortrows(A) sorts the rows of matrix A in ascending order as a
group. B has the same size and type as A. A must be a 2-D matrix.
B = sortrows(A,COL) sorts the matrix according to the columns specified
by the vector COL. If an element of COL is positive, the corresponding
column in A is sorted in ascending order; if an element of COL is
negative, the corresponding column in A is sorted in descending order.
For example, sortrows(A,[2 -3]) first sorts the rows in ascending order
according to column 2; then, rows with equal entries in column 2 get
sorted in descending order according to column 3.
...
So,
sortrows(A,[1 3 2]) % doc sortrows for details...
sorts A in ascending order by column order of first, third, second. This can be seen to be so by inspection of the output.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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