Azzera filtri
Azzera filtri

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

13 visualizzazioni (ultimi 30 giorni)
Niky Taylor
Niky Taylor il 13 Ott 2017
Commentato: Niky Taylor il 16 Ott 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.

Risposta accettata

Matt J
Matt J il 13 Ott 2017
B=num2cell(A,3)
  2 Commenti
Matt J
Matt J il 13 Ott 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);

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Types in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by