Converting a 3D matrix into a 2D in the correct order.

1 visualización (últimos 30 días)
Pedro Vicente
Pedro Vicente el 19 de Jun. de 2018
Comentada: Andrei Bobrov el 19 de Jun. de 2018
Hi guys, so i have a index matrix of 1x8x50 (i know this is almost a vector). exemple:
T(:,:,48) = 37.3795 32.7215 31.9475 35.0683 35.8266 61.2570 45.0210 44.3608
T(:,:,49) = 38.7236 33.9132 33.1193 36.3396 37.1225 63.2087 46.5356 45.9089
And i Want to put it all in a 2D matrix with the index of (50;8). But when do reshape(T[size(T,3),size(T,2)]), it organizes the matrix by column. What i would like is that each 3D matriz would be a row of my 2D matrix. Like T(:,:,1) would be the first line of the 2D matrix and so on.
Thank you!!

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 19 de Jun. de 2018
permute(T,[3,2,1])
  2 comentarios
Stephen23
Stephen23 el 19 de Jun. de 2018
Editada: Stephen23 el 19 de Jun. de 2018
+1 permute is the correct way to do this.
Andrei Bobrov
Andrei Bobrov el 19 de Jun. de 2018
Thank you Stephen!

Iniciar sesión para comentar.

Más respuestas (1)

Sayyed Ahmad
Sayyed Ahmad el 19 de Jun. de 2018
Editada: Sayyed Ahmad el 19 de Jun. de 2018
for i=1:8
for j=1:50
a(1,i,j)=i*10000+j;
end
end
b=a;
b=reshape(b,8,50);
b=b';

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by