【问题标题】:Matlab matrix sortMatlab矩阵排序
【发布时间】:2013-05-17 07:40:51
【问题描述】:

我有一个在 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(最后一列),但下一步我不知道它应该是什么样子。我被卡住了。

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

【问题讨论】:

    标签: matlab sorting matrix


    【解决方案1】:

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

    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

    【讨论】:

      【解决方案2】:

      这可能是答案:

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

      【讨论】:

        猜你喜欢
        • 2013-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-27
        • 1970-01-01
        相关资源
        最近更新 更多