2015-04-06 3 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]; 

, например, я хочу, чтобы переместить строки номер 6 после того, как номер строки 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]; 

затем я хочу переместить строку 9 после строки 5

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

Добро пожаловать в StackOverflow! Пожалуйста, подумайте о том, чтобы принять ответ, если он вам помог, нажав зеленую галочку слева. Таким образом вы указываете системе, что ваша проблема решена. Спасибо! – thewaywewalk

+0

Спасибо за ваши комментарии и полезный ответ –

ответ

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 
Смежные вопросы