Split every matrix in cell and make it into different cell

3 views (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)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!