Rearranging Array Rows into Multiple Blocks while Maintaining the Old Order

2 views (last 30 days)
How can I rearrange an array from alternating rows to multiple blocks, maintaining the order of the rows?
  2 Comments
madhan ravi
madhan ravi on 18 Mar 2019
please illustrate with a input and the desired output as text instead of picture
Saeid
Saeid on 18 Mar 2019
The matrix:
[a a a a a;
b b b b b;
c c c c c;
d d d d d;
e e e e e ;
f f f f f ]
should be converted to:
[a a a a a ;
c c c c c;
e e e e e ;
b b b b b;
d d d d d ;
f f f f f];

Sign in to comment.

Accepted Answer

Jos (10584)
Jos (10584) on 18 Mar 2019
You should learn about indexing, one of the most essential aspects of Matlab:
M = randi(4,10,5) ; M(:,1) = 1:size(M,1) % example data
M2 = M([1:2:end 2:2:end], :) % re-ordering the rows

More Answers (1)

madhan ravi
madhan ravi on 18 Mar 2019
Edited: madhan ravi on 18 Mar 2019
reshape(matrix,[],size(matrix,2))

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!