Indiana University
University Information Technology Services
  
What are archived documents?

In Matlab, how can I sort all of the rows of a matrix according to one of the columns?

If you wish to sort all the rows of a matrix in Matlab according to one of the columns, the general syntax for the command to use is:

[OldRowNumber, NewRowNumber] = sort(OldMatrix(:,SortColumn)); NewMatrix = OldMatrix(NewRowNumber,:);

Suppose, for example, you would like to rearrange the example matrix below (Figure 1) according to the value of the third column, so that your results would be as shown in Figure 2:

Figure 1

A = [1 2 3 3 0 9 6 5 4]

Figure 2

B = [1 2 3 6 5 4 3 0 9]

You would use the following command:

[x, i] = sort(A(:,3)); B = A(i,:);

In the above example, x and i are placeholder variable names representing the old and new row numbers, respectively. You can replace these with any variable name.

For more information about statistical and mathematical software, email the UITS Stat/Math Center, visit the center's web page, or phone 812-855-4724 (IUB) or 317-278-4740 (IUPUI). The center is located in Bloomington at 410 N. Park Avenue, and is open for consultation by appointment Monday-Friday 9am-5pm.

Also see:

This is document afrd in domain all.
Last modified on March 24, 2008.
Please tell us, did you find the answer to your question?