排序后无法保留第二个属性

时间:2014-11-23 04:29:01

标签: arrays matlab sorting matrix

我有set4变量(4 x 2 double)。当我对它进行排序时,每个元素的第二个属性也会被排序。我只需要排序第一个属性。 例如,

set4=[ 10 1; 20 1; 5 2; 15 2];
sort(set4)

输出:

ans =

     5     1
    10     1
    15     2
    20     2

但我的预期输出是, ans =

 5     2
10     1
15     2
20     1

我该怎么办?

2 个答案:

答案 0 :(得分:1)

set4=[ 10 1; 20 1; 5 2; 15 2];  %example data
[set,in] = sort(set4(:,1));   %sort just the first column and get the indices
set(:,2)= set4(in,2)          %use the indices to re-order the second column
set =

 5     2
10     1
15     2
20     1

答案 1 :(得分:0)

set4=[ 10 1; 20 1; 5 2; 15 2];
sortrows(set4)

ans=

 5     2
10     1
15     2
20     1