Matlab矩阵排序

时间:2013-05-16 23:18:44

标签: matlab sorting matrix

我在matlab中排序行的具体问题。 这是我的示例条目矩阵:

 A =

 [0 1 1;
  0 1 2;
  1 0 3;
  1 0 4;
  1 1 5;
  0 1 6;]

这是“排序矢量”

 V=

  1 
  4 
  6 
  2 
  3 
  5 

如何获得这样的输出矩阵:

B=

 [0 1 1;
  1 0 4;
  0 1 6;
  0 1 2;
  1 0 3;
  1 1 5]

首先我将向量V添加到矩阵A(最后一列),但下一步我不知道它应该如何。我被卡住了。

提前,感谢您的时间和帮助:)

2 个答案:

答案 0 :(得分:3)

这可能就是答案:

B = A(V(:),:);

答案 1 :(得分:2)

要重新排列或选择任何所需的行:

B = A(V,:);

相同的概念可用于列以及重新排列,选择或重复任何所需的行或列:

V2 = [3 1 3];
B2 = A(:,V2);

B2 = 

 1     0     1
 2     0     2
 3     1     3
 4     1     4
 5     1     5
 6     0     6

在这里了解冒号操作符(:):

http://www.mathworks.com/help/matlab/ref/colon.html