How can i change a cell to an array?

I have a 1000x1 cell consisting of 20x20x20 complex doubles.
How do i convert it such that its 1000x20x20x20?
Tried using cell2mat but ended up with 20000x20x20x20.

 Accepted Answer

C{1} = rand(2,2,2) ;
C{2} = rand(2,2,2) ;
C{3} = rand(2,2,2) ;
C{4} = rand(2,2,2) ;
A = cat(4,C{:}) ;
C{1}
ans =
ans(:,:,1) = 0.0684 0.6500 0.4594 0.9694 ans(:,:,2) = 0.7593 0.4700 0.6565 0.9954
A(:,:,:,1)
ans =
ans(:,:,1) = 0.0684 0.6500 0.4594 0.9694 ans(:,:,2) = 0.7593 0.4700 0.6565 0.9954

3 Comments

hi, i do not understand how this answers my question. I have a 1000x1 cell which ive attached. i would like to change it to an array of 1000x20x20x20 complex double
If C is you cell array of dimension 1x1000 with each cell 20*20*20, you can use the shown code and get A as 20*20*20*1000
that works. thank you!!

Sign in to comment.

More Answers (0)

Products

Release

R2020a

Asked:

on 10 Mar 2021

Commented:

on 10 Mar 2021

Community Treasure Hunt

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

Start Hunting!