如何将矩阵的值更改为特定位置

时间:2012-08-31 15:20:59

标签: matlab

这是我的原始矩阵。

A =

    60    27    45    72    22    14    56     2     8    39    18    12;
    72    27    60    45    11     7     3    23    41    17    56    39]

然后,我想更改column 1 until 4 in second row的位置值,以便可以在同一列中排列相同的值。 在这里,我的愿望矩阵。

Res =

    60    27    45    72    22    14    56     2     8    39    18    12;
    60    27    45    72    11     7     3    23    41    17    56    39]

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

尝试在代码中显示您尝试过的示例,但我会指出您正确的方向。

您需要首先在Res中直接复制A,然后您可以修改此副本,以便您的slaveRow(您想要覆盖的行)与您的masterRow(覆盖slaveRow时引用的行)匹配。像这样:

A =

60    27    45    72    22    14    56     2     8    39    18    12
72    27    60    45    11     7     3    23    41    17    56    39

columnStart=1;
columnEnd=4;
masterRow=1;
slaveRow=2;
Res=A;
Res(slaveRow,columnStart:columnEnd)=A(masterRow,columnStart:columnEnd);

Res =

60    27    45    72    22    14    56     2     8    39    18    12
60    27    45    72    11     7     3    23    41    17    56    39

答案 1 :(得分:1)

尝试

  i=1:2:(1+3*2);
  A(i+1)=A(i)

答案 2 :(得分:1)

试试这个

 Res = A;
 Res(2,[1:4]) = Res(1,[1:4])