How can I sort a 2-D array in MATLAB with respect to one column?

matlab, matrix, octave, sorting

Solution

I think the sortrows function is what you're looking for.

>> sortrows(data,1)

ans =

    -1     4
     1     3
     5     7

Problem

I would like to sort a matrix according to a particular column. There is a `sort` function, but it sorts all columns independently. For example, if my matrix `data` is: ``` 1 3 5 7 -1 4 ``` Then the desired output (sorting by the first column) would be: ``` -1 4 1 3 5 7 ``` But the output of `sort(data)` is: ``` -1 3 1 4 5 7 ``` How can I sort this matrix by the first column?

Original source