我有一个矩阵
A = 1 1 1
2 2 2
3 3 3
4 4 4
5 5 5
我有3个数组,其中包含我单独想要对各列进行排序的顺序。第1列的示例I1,第2列的I2,....
I1 = 5 I2 = 4 I3 = 3
4 3 2
3 2 1
2 1 5
1 5 4
对矩阵A进行排序后,我应该得到: - 如果仅使用I1对第1列进行排序
A = 5 1 1
4 2 2
3 3 3
2 4 4
1 5 5
如果仅使用I2对第二列进行排序
A = 1 4 1
2 3 2
3 2 3
4 1 4
5 5 5
如果仅使用I3对第3列进行排序
A = 1 1 3
2 2 2
3 3 1
4 4 5
5 5 4
如果仅使用I1,I2,I3对所有列进行排序
A = 5 4 3
4 3 2
3 2 1
2 1 5
1 5 4
请建议我怎么做。
答案 0 :(得分:2)
如果它们的尺寸完全相同,那么这应该是您所需要的:
A([I1 I2 I3]);
如果您希望单独对列进行排序,可以使用以下语法:
A(:,2)=A(I2,2);
或者例如第2和第3列:
A(:,[2 3]) = [A(I2,2) A(I3,3)];