sort a matrix in a specific way

1 view (last 30 days)
Homayoon
Homayoon on 22 Jun 2015
Edited: Stephen23 on 22 Jun 2015
Dear All, Although I know how to sort a single column or row in an ascending or descending way, but I do not know how to sort a higher dimension matrix based on a single column. I hope the following example illustrate my point:
12 0 1 65
5 1 0 340
13 2 1 100
9 0 0 0
I need the matrix to be sorted based on the first column. Basically I need all rows to be sorted based on a simple sort on the first column. Here is the desired output:
5 1 0 340
9 0 0 0
12 0 1 65
13 2 1 100
I hope you will help me to figure how to sort it out! Thank you so much HRJ

Accepted Answer

Stephen23
Stephen23 on 22 Jun 2015
Edited: Stephen23 on 22 Jun 2015
You can use sortrows for this:
>> A = [12,0,1,65; 5,1,0,340; 13,2,1,100; 9,0,0,0]
A =
12 0 1 65
5 1 0 340
13 2 1 100
9 0 0 0
>> sortrows(A,1)
ans =
5 1 0 340
9 0 0 0
12 0 1 65
13 2 1 100
  2 Comments
Homayoon
Homayoon on 22 Jun 2015
Thanks. I was not aware of this syntax I do appreciate your help
Stephen23
Stephen23 on 22 Jun 2015
Edited: Stephen23 on 22 Jun 2015
My pleasure. You can also Accept an answer that resolves your question.

Sign in to comment.

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!