Reshape an Matlab array

1 visualizzazione (ultimi 30 giorni)
Yro
Yro il 9 Dic 2020
Commentato: Yro il 9 Dic 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 Commenti
Yro
Yro il 9 Dic 2020
Modificato: Yro il 9 Dic 2020
Thanks for your reply, sorry I already edited the question, i need to get a 7x24 array. Attached the pattern
Yro
Yro il 9 Dic 2020
Using what you recommend doesn't work, I don't get the desired array,
A=reshape(RELOADING_PATTERN,7,[]);

Accedi per commentare.

Risposta accettata

James Tursa
James Tursa il 9 Dic 2020
Modificato: James Tursa il 9 Dic 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);

Più risposte (0)

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by