Filter löschen
Filter löschen

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

10 Ansichten (letzte 30 Tage)
Niky Taylor
Niky Taylor am 13 Okt. 2017
Kommentiert: Niky Taylor am 16 Okt. 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.

Akzeptierte Antwort

Matt J
Matt J am 13 Okt. 2017
B=num2cell(A,3)
  2 Kommentare
Matt J
Matt J am 13 Okt. 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 am 16 Okt. 2017
Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Types finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by