sort(A):對一維或二維矩陣進行升序排序,並返回排序後的矩陣;當A爲二維矩陣時,對矩陣的每一列分別進行排序。函數
sort(A,dim):對矩陣按指定的方向進行升序排序,並返回排序後的矩陣。當dim=1時,對矩陣的每一列排序(即將第一維行數打亂重排);當dim=2時,對矩陣的每一行排序(即將第二維列數打亂重排)。blog
sort(A,dim,mode):mode爲'ascend'時,進行升序排序;mode爲'descend'時,進行降序排序。相比於sort(A)可見默認升序,默認dim=1。排序
[B,IX]=sort(A,...):IX爲排序後備元素在原矩陣中的行位置或列位置的索引,爲與A一樣大小的標量矩陣,且每行(dim=2)或每列(dim=1)遍及1:行數m,或遍及1:列數n索引
sort在按一維和按二維排列矩陣的MATLAB實現過程:class
clear all;clc;close all; A=[10 13 7;1 5 9;6 2 3] %下面兩種排序方式中,mode均未指定,默認'ascend'升序 %dim==2,按行排序的sort函數實現 [B,indb]=sort(A,2) %按行排序的循環語句實現 for i=1:size(A,1) B1(i,:)=A(i,indb(i,:)); end B1 %dim==1,按列排序的sort函數實現 [C,indc]=sort(A,1) %按列排序的循環語句實現 for j=1:size(A,2) C1(:,j)=A(indc(:,j),j); end C1
運行結果以下:循環
A =im
10 13 7
1 5 9
6 2 3sort
B =db
7 10 13
1 5 9
2 3 6di
indb =
3 1 2
1 2 3
2 3 1
B1 =
7 10 13
1 5 9
2 3 6
C =
1 2 3
6 5 7
10 13 9
indc =
2 3 3
3 2 1
1 1 2
C1 =
1 2 3 6 5 7 10 13 9