本文共 1911 字,大约阅读时间需要 6 分钟。
在处理问题时,排序是一个非常常见的需求。sort函数是Matlab内置的排序函数,可以满足常用的排序需求。sort函数的基本形式如下
[Y,I] = sort(X,DIM,MODE)
I 表示Y中对应元素原来在X中的下标
mode的默认值是‘ascend’升序排列,‘descend’为降序排列
>> X = fix(rand(1,5)*10)X = 7 1 4 6 4>> [Y,I] = sort(X)Y = 1 4 4 6 7I = 2 3 5 4 1>> X = fix(rand(5,1)*10)X = 4 6 0 0 0>> [Y,I] = sort(X)Y = 0 0 0 4 6I = 3 4 5 1 2>> X = fix(rand(3,5)*10)X = 8 9 4 3 8 6 0 2 4 9 4 1 6 1 0>> [Y,I] = sort(X)Y = 4 0 2 1 0 6 1 4 3 8 8 9 6 4 9I = 3 2 2 3 3 2 3 1 1 1 1 1 3 2 2>> [Y,I] = sort(X,2)Y = 3 4 8 8 9 0 2 4 6 9 0 1 1 4 6I = 4 3 1 5 2 2 3 4 1 5 5 2 4 1 3
[Y,I]=sortrows(X,Colnum)
>> X = fix(rand(3,5)*10)X = 8 9 4 3 8 6 0 2 4 9 4 1 6 1 0>> [Y,I]=sortrows(X,1)Y = 4 1 6 1 0 6 0 2 4 9 8 9 4 3 8I = 3 2 1>> [Y,I]=sortrows(X,-2)Y = 8 9 4 3 8 4 1 6 1 0 6 0 2 4 9I = 1 3 2
注:对矩阵行的排序排序方法都可以用在矩阵列的排序中,因为矩阵有个转置运算,行列式可以互换的,可以将对列的运算转化成对行的运算
转载仅作为笔记使用,如有侵权请联系。原文地址: