移动矩阵的行

问题描述:

我有一个这样的矩阵,我想矩阵间移动的某些行移动矩阵的行

Matrix = 
[ 1 101 201 301 
    2 102 202 302 
    3 103 203 303 
    4 104 204 304 
    5 105 205 305 
    6 106 206 306 
    7 107 207 307 
    8 108 208 308 
    9 109 209 309 
    10 110 210 310]; 

例如,我想后的行号2

Matrix = 
     [ 1 101 201 301 
      2 102 202 302 
      6 106 206 306 
      3 103 203 303 
      4 104 204 304 
      5 105 205 305 
      7 107 207 307 
      8 108 208 308 
      9 109 209 309 
      10 110 210 310]; 

移动行数6那么我想在第5行之后移动第9行

Matrix = 
     [ 1 101 201 301 
      2 102 202 302 
      6 106 206 306 
      3 103 203 303 
      4 104 204 304 
      5 105 205 305 
      9 109 209 309 
      7 107 207 307 
      8 108 208 308 
      10 110 210 310]; 

如何在Matlab中完成此操作?

+0

欢迎计算器!请考虑接受答案,如果它帮助你,点击左边的绿色复选标记。这样你就可以指出你的问题已经解决了。谢谢! – thewaywewalk 2015-04-07 08:16:05

+0

感谢您的意见和有用的答案 – 2015-04-09 01:34:20

只需通过索引:

Matrix = ... 
[ 1 101 201 301 
    2 102 202 302 
    3 103 203 303 
    4 104 204 304 
    5 105 205 305 
    6 106 206 306 
    7 107 207 307 
    8 108 208 308 
    9 109 209 309 
    10 110 210 310]; 

newOrder = [1 2 6 3 4 5 9 7 8 10]; 
out = Matrix(newOrder,:) 

out = 

    1 101 201 301 
    2 102 202 302 
    6 106 206 306 
    3 103 203 303 
    4 104 204 304 
    5 105 205 305 
    9 109 209 309 
    7 107 207 307 
    8 108 208 308 
    10 110 210 310