MATLAB sort函數用法


sort(A):對一維或二維矩陣進行升序排序,並返回排序后的矩陣;當A為二維矩陣時,對矩陣的每一列分別進行排序。

sort(A,dim):對矩陣按指定的方向進行升序排序,並返回排序后的矩陣。當dim=1時,對矩陣的每一列排序(即將第一維行數打亂重排);當dim=2時,對矩陣的每一行排序(即將第二維列數打亂重排)。

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實現過程:

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 =

10 13 7
1 5 9
6 2 3


B =

7 10 13
1 5 9
2 3 6


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM