在matlab中有自带的排序函数 sort()
使用方法为
sort(A) %其中A可以是一个数组,或者是矩阵
举个栗子
X=[1,2,3,4,9,4,2,1]
sort(X)
运行结果
ans =
1 1 2 2 3 4 4 9
注意:默认的模式是升序排序即默认调用sort(X,'ascend'),如果时要实现降序排序 ,实现语法如下:
sort(X,'descend')
运行结果
ans =
9 4 4 3 2 2 1 1
sort 函数的高级用法
根据matlab的帮助文档
[B,I] = sort(___)还返回任何前面语法的索引向量集合。I的大小与A相同,描述了A的元素在排序维数B中的排列情况。例如,如果A是一个向量,那么B = A(I)。
意思就是,[B,I]=sort(A)
对进行排序 然后,将排序后的结果返回给B,其中I储存的是B的每个元素在A中的索引
A=[3,4,5];
[B,index]=sort(A);
运行结果如下
B =
3 4 5
index =1 2 3
默认为升序排序,其中index储存的内容是: B中第i个元素在A中的位置
比如: B(1) =3 那么 A(index(1))=3
检验一下:
>>A(index(1))
ans =3
或者
A(index)
ans = 3 4 5
意思是A按照索引所给的序列 排序返回一个新的 序列