## How to convert from cell array to multidimensional array?

### Chandrama Sarker (view profile)

on 24 Jul 2017
Latest activity Commented on by Chandrama Sarker

on 24 Jul 2017

### per isakson (view profile)

I have a cell array that is 1x10,000 with each cell containing a multidimensional array of (7x7x6). How can I convert from cell array to multidimensional array that has a dimensions of (7,7,6,10000)?

### per isakson (view profile)

on 24 Jul 2017
Edited by per isakson

### per isakson (view profile)

on 24 Jul 2017

Loops are allowed if one remember to pre-allocate
num = nan( 7, 7, 6, 10000 );
for jj = 1 : 10000
num(:,:,:,jj) = C{jj};
end
and they are fast enough
>> cssm
Elapsed time is 0.048869 seconds.
Elapsed time is 0.037956 seconds.
ans =
1
where cssm is
m = randn( 7,7,6 );
C = repmat( {m}, [1,10000] );
tic
num = nan( 7, 7, 6, 10000 );
for jj = 1 : 10000
num(:,:,:,jj) = C{jj};
end
toc
tic
n02 = cat( 4, C{:} );
toc
all( num(:)==n02(:) )

Chandrama Sarker

### Chandrama Sarker (view profile)

on 24 Jul 2017
Thank You Per, it works well. I have also found out one more way to do that: out = Q= cat(4, C{:});