matlab的sort函式用法

2021-09-29 13:26:16 字數 1131 閱讀 9969

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

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

3. sort(a,dim,mode):mode為'ascend'時,進行公升序排序;mode為'descend'時,進行降序排序。相比於sort(a)可見預設公升序,預設dim=1。

4. [b,ix]=sort(a,...):ix為排序後備元素在原矩陣中的行位置或列位置的索引,為與a同樣大小的標量矩陣,且每行(dim=2)或每列(dim=1)遍布1:行數m,或遍布1:列數n

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,:));

endb1

%dim==1,按列排序的sort函式實現

[c,indc]=sort(a,1)

%按列排序的迴圈語句實現

for j=1:size(a,2)

c1(:,j)=a(indc(:,j),j);

endc1

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

matlab中sort函式的用法

help文件中第一句就說明,可以用sort將參量中的元素按公升序或降序排列 格式 b sort a 沿著輸入參量 a的不同維的方向 從小到大重新排列 a中的元素。a 可以是字串的 實數的 複數的單元陣列。對於 a 中完全相同的元素,則按它們在 a 中的先後位置排列在一塊 若 a 為複數的,則按元素幅...

sort函式的用法

sort函式的用法 做acm題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的o n 2 排序,不但程式容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。stl裡面有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳兩個引數或...

sort函式的用法

sort函式包含在標頭檔案 include 中 1 預設的sort函式是按公升序排。sort a,a n 兩個引數分別為待排序陣列的首位址和尾位址,或者可以首尾指標。又如 vector iterator iter1 v.begin vector iterator iter2 v.begin sort...