MATLAB: Concatenation of 4×8 cell arrays

cell arrays

My CellArray looks like this,
Columns 1 through 4
[] [4x32 double] [4x2511 double] [4x1874 double]
[4x841 double] [4x1810 double] [4x2269 double] [4x4312 double]
[] [4x256 double] [4x841 double] [4x1101 double]
[] [] [] []
Columns 5 through 8
[4x1586 double] [4x792 double] [] [4x1 double]
[4x3861 double] [4x1607 double] [4x878 double] [4x790 double]
[4x885 double] [4x1049 double] [4x297 double] [4x6 double]
[] [] [] []
[4x1586 double] [4x792 double] [] [4x1 double]
[4x3861 double] [4x1607 double] [4x878 double] [4x790 double]
[4x885 double] [4x1049 double] [4x297 double] [4x6 double]
[] [] [] []
Now I have to concatenate the cells leaving out the empty cells and the result should be 4x double in one cell.Please help me out.I am very much new to matlab. Thanks in advance..

Best Answer

Hi,
try
cell2mat(your_cell_variable)
So a small example would be
a{1,1} = rand(4,10);
a{1,2} = [];
a{2,1} = [];
a{2,2} = rand(4,100)
b = cell2mat(a);
dim = size(b)
which leads to
a =
[4x10 double] []
[] [4x100 double]
dim =
4 110