2015-04-06 67 views
0

我有一個這樣的矩陣,我想矩陣間移動的某些行移動矩陣的行

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

回答

3

只需通過索引:

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