我有这样的矩阵,我想在Matrix
之间移动一些行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行之后移动第6行
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];
然后我想在第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 :(得分: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