trivial matrix question: how to rearrange matrices in a given order

1 visualización (últimos 30 días)
Hello everyone,
I know this could seems trivial and meybe here we are talking about the very matlab basics, but as I am dealing with really big data structures, I would like to receive some support.
I have the following matrix, as shown in 1:
I would like to reshape it to be as in 2, and back again to point 1.
Thanks in advance

Respuesta aceptada

Matt J
Matt J el 27 de Abr. de 2023
Editada: Matt J el 27 de Abr. de 2023
You can use blkColon in this FEX download,
>> X
X(:,:,1) =
1 10 19
2 11 20
3 12 21
X(:,:,2) =
4 13 22
5 14 23
6 15 24
X(:,:,3) =
7 16 25
8 17 26
9 18 27
>> Y=blkColon(X,[3,3])
Y =
1 10 19
2 11 20
3 12 21
4 13 22
5 14 23
6 15 24
7 16 25
8 17 26
9 18 27
  2 comentarios
Enzo
Enzo el 28 de Abr. de 2023
@Matt J thanks for your precious help. I am gonna accept your answer has it worked perfectly. Do you have any suggestion on how to reshape the Y matrix again into the X matrix shape?
Matt J
Matt J el 28 de Abr. de 2023
Yes, you can use blkReshape().

Iniciar sesión para comentar.

Más respuestas (1)

chicken vector
chicken vector el 27 de Abr. de 2023
Editada: chicken vector el 27 de Abr. de 2023
A = reshape(1:3^3,3^2,[])
A = 9×3
1 10 19 2 11 20 3 12 21 4 13 22 5 14 23 6 15 24 7 16 25 8 17 26 9 18 27
B = permute(reshape(A',[],3,3),[2,1,3])
B =
B(:,:,1) = 1 10 19 2 11 20 3 12 21 B(:,:,2) = 4 13 22 5 14 23 6 15 24 B(:,:,3) = 7 16 25 8 17 26 9 18 27
A = reshape(B,[],3)
A = 9×3
1 4 7 2 5 8 3 6 9 10 13 16 11 14 17 12 15 18 19 22 25 20 23 26 21 24 27

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by