Matlab:如何为每个行/列,循环或公式排序数据?

时间:2012-02-16 16:39:34

标签: matlab loops

这就是数据的样子:

20.00 32.00 33.00 10.00 23.00 ......

12.00 22.00 21.00 10.00 32.00 ......

10.00 21.00 21.00 34.00 12.00 ......

......

我想分别对第(1)行,第(2)行......行(n)进行排序。我应该写一个循环或在这里做任何公式吗?寻找解决方案,谢谢!

3 个答案:

答案 0 :(得分:4)

如果您已经在Matlab矩阵中获得了数据,那么sort函数就可以解决这个问题:

A = [1,3,2
     4,1,3]

sort函数需要指定维度 - 因为默认情况下会对列进行排序。 matlab中的数组索引从1开始,所需数量为2。

sort(A,2) = [1,2,3
             1,3,4]

更多信息:http://www.mathworks.co.uk/help/techdoc/ref/sort.html

答案 1 :(得分:0)

在MATLAB sort函数中,您可以指定要排序的维度。如果您沿着进行调整,请使用维度2(列为维度1)。

sort( data , 2 );

答案 2 :(得分:0)

排序(X)(其中X是矩阵)的默认行为是单独对每列进行排序。如果要对行进行排序,可以使用sort(x,2)或sort(x')。