Reshape an Matlab array

1 view (last 30 days)
Yro
Yro on 9 Dec 2020
Commented: Yro on 9 Dec 2020
I have the following arrangement (84x2):
RELOADING_PATTERN = [...
26 24
26 35
27 34
27 33
26 33
25 34
25 35
...
] ;
How can I reshape the arrangement to (7x24)?. I tried the reshape function as follows but it doesn't work:
A = reshape(RELOADING_PATTERN(1:84,:),7,24);
I want to get the following array:
A = 26 24 28 24 ...
26 35 29 24 ...
27 34 29 33 ...
27 33 28 33 ...
26 33 27 34 ...
25 34 27 35 ...
25 35 29 34 ...
Thanks in advance.
  3 Comments
Yro
Yro on 9 Dec 2020
Edited: Yro on 9 Dec 2020
Thanks for your reply, sorry I already edited the question, i need to get a 7x24 array. Attached the pattern
Yro
Yro on 9 Dec 2020
Using what you recommend doesn't work, I don't get the desired array,
A=reshape(RELOADING_PATTERN,7,[]);

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 9 Dec 2020
Edited: James Tursa on 9 Dec 2020
A straightforward assignment:
A = zeros(7,24);
A(:,1:2:end) = reshape(RELOADING_PATTERN(:,1),7,12);
A(:,2:2:end) = reshape(RELOADING_PATTERN(:,2),7,12);
or using permute etc.
A = reshape(permute(reshape(RELOADING_PATTERN',2,7,[]),[2 1 3]),7,24);

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!