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))

Community Treasure Hunt

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

Start Hunting!