MATLAB Answers

rearrange a matrix into a vector by blocks

14 views (last 30 days)
How can I rearrage the folloing matrix
into a vector [1 2 3 4 5 ... 36] without using for loops?

Accepted Answer

Stephen Cobeldick
Stephen Cobeldick on 20 Feb 2021
M = [1,3,13,15,25,27;2,4,14,16,26,28;5,7,17,19,29,31;6,8,18,20,30,32;9,11,21,23,33,35;10,12,22,24,34,36]
M = 6×6
1 3 13 15 25 27 2 4 14 16 26 28 5 7 17 19 29 31 6 8 18 20 30 32 9 11 21 23 33 35 10 12 22 24 34 36
V = reshape(permute(reshape(M,2,3,2,[]),[1,3,2,4]),1,[])
V = 1×36
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!

Translated by