Convert a 3D array to a 2D cell array?

15 visualizaciones (últimos 30 días)
Niky Taylor
Niky Taylor el 13 de Oct. de 2017
Comentada: Niky Taylor el 16 de Oct. de 2017
I'm sure there's a basic way to do this that I haven't found.
I have a 3D array, but I want to convert it into a 2D cell array where each cell contains the data currently contained in the 3rd dimension, so:
if given some 3D array A = rand(10,10,4);
make a 2D cell array B that is 10x10 cells, but each cell contains 1x4.
Thanks so much.

Respuesta aceptada

Matt J
Matt J el 13 de Oct. de 2017
B=num2cell(A,3)
  2 comentarios
Matt J
Matt J el 13 de Oct. de 2017
but each cell contains 1x4.
If you really do need a 1x4 shape, you can do
[m,n,p]=size(A);
B=num2cell(reshape(A,[],p), 2);
B=reshape(B,m,n);
Niky Taylor
Niky Taylor el 16 de Oct. de 2017
Thanks!

Iniciar sesión para comentar.

Más respuestas (0)

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