Split every matrix in cell and make it into different cell

1 view (last 30 days)
I have a cell which size is 20000x1 and it contains a 32x32x2 matrix in every cell, can i split the cell into two 20000x1 cell and each of them contains the 32x32x1 data?

Accepted Answer

per isakson
per isakson on 5 Sep 2021
One way
%%
M = ones(32,32,2,3); % Sample data (20000 replaced by 3)
C = mat2cell( M, 32, 32, 2, ones(1,3) );
%%
C = squeeze( C )
C = 3×1 cell array
{32×32×2 double} {32×32×2 double} {32×32×2 double}
%%
[C1,C2] = cellfun( @(m) deal(m(:,:,1),m(:,:,2)), C, 'uni',false )
C1 = 3×1 cell array
{32×32 double} {32×32 double} {32×32 double}
C2 = 3×1 cell array
{32×32 double} {32×32 double} {32×32 double}

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!