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.

 Akzeptierte Antwort

KSSV
KSSV am 10 Mär. 2021

0 Stimmen

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 Kommentare

Shannon Lim
Shannon Lim am 10 Mär. 2021
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
KSSV
KSSV am 10 Mär. 2021
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
Shannon Lim
Shannon Lim am 10 Mär. 2021
that works. thank you!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2020a

Gefragt:

am 10 Mär. 2021

Kommentiert:

am 10 Mär. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by