Indiana University
University Information Technology Services
  
What are archived documents?
Login>>
Login

Login is for authorized groups (e.g., UITS, OVPIT, and TCC) that need access to specialized Knowledge Base documents. Otherwise, simply use the Knowledge Base without logging in.

Close

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

If you want 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.

This is document afrd in domain all.
Last modified on March 31, 2009.

Comments/Questions/Corrections

Use this form to offer suggestions, corrections, and additions to the Knowledge Base. We welcome your input!

If you are affiliated with Indiana University and would like assistance with a specific computing problem, please use the Ask a Consultant form, or contact your campus Support Center.

Contact Information

Note: We will reply to your comment at this address. If your message concerns a problem receiving email, please enter an alternate email address.