Scilab 按第二列排序
Scilab sort by second column
我有一些数据:
P = [3 10 25 32 43 1 3
6 12 35 39 49 4 9
2 9 23 36 47 2 9
...
7 20 35 42 44 3 7
15 18 19 41 42 4 6
10 18 32 35 46 3 10];
数据总是在 1 到 50 之间。
我选择左 5 列和右 2 列:
L=P(:,1:5);
R=P(:,6:7);
我正在计算出现次数:
a=tabul(L);
b=tabul(R);
此时此刻,在 a
我得到:
50. 3.
49. 4.
48. 3.
这告诉我,值 50 出现了 3 次,49 出现了 4 次,依此类推。
我现在需要的是按第二列对矩阵 a
进行排序,但第一列应与第二列值一起排列。所以它看起来像这样:
49. 4.
50. 3.
48. 3.
如何按这种方式对矩阵 a
进行排序(稍后我将按相同的方式对 b
进行排序)?
我正在尝试类似的东西:
[a,idx]=gsort(a(:,2),"g","d");
a=a(idx,:);
但这不是我需要的。
它不起作用,因为您在 gsort
调用中覆盖了 a
,尽管您只需要此处的索引。以下是您想要的:
[dummy,idx]=gsort(a(:,2),"g","d");
a=a(idx,:);
我有一些数据:
P = [3 10 25 32 43 1 3
6 12 35 39 49 4 9
2 9 23 36 47 2 9
...
7 20 35 42 44 3 7
15 18 19 41 42 4 6
10 18 32 35 46 3 10];
数据总是在 1 到 50 之间。 我选择左 5 列和右 2 列:
L=P(:,1:5);
R=P(:,6:7);
我正在计算出现次数:
a=tabul(L);
b=tabul(R);
此时此刻,在 a
我得到:
50. 3.
49. 4.
48. 3.
这告诉我,值 50 出现了 3 次,49 出现了 4 次,依此类推。
我现在需要的是按第二列对矩阵 a
进行排序,但第一列应与第二列值一起排列。所以它看起来像这样:
49. 4.
50. 3.
48. 3.
如何按这种方式对矩阵 a
进行排序(稍后我将按相同的方式对 b
进行排序)?
我正在尝试类似的东西:
[a,idx]=gsort(a(:,2),"g","d");
a=a(idx,:);
但这不是我需要的。
它不起作用,因为您在 gsort
调用中覆盖了 a
,尽管您只需要此处的索引。以下是您想要的:
[dummy,idx]=gsort(a(:,2),"g","d");
a=a(idx,:);