# how to cell array data in single matrix

2 views (last 30 days)
singh on 27 May 2015
Edited: Stephen23 on 27 May 2015
suppose i have an cell array code and output of this cell array is below
code=
b=cat(2,indx,nonzeros(a));
c{i}=b;
output=
c =
[4x3 double] [3x3 double] [2x3 double] [1x3 double]
>> c{1}
ans =
1.0000 2.0000 2.0251
1.0000 3.0000 2.4151
1.0000 4.0000 3.6898
1.0000 5.0000 3.7661
>> c{2}
ans =
2.0000 3.0000 4.4384
2.0000 4.0000 3.3449
2.0000 5.0000 2.0825
>> c{3}
ans =
3.0000 4.0000 5.1293
3.0000 5.0000 6.0171
c{4}
ans =
4.0000 5.0000 2.5647
how to use all data of cell array in the single matrix
Muhammad Usman Saleem on 27 May 2015
to me this is not not possible as matrix always contains same data type while the cell array contains different data type. One thing can be done. You have to make separate matrixs for every field of cell array...
Stephen23 on 27 May 2015
Edited: Stephen23 on 27 May 2015
@Muhammad Usman Saleem: the contents of each cell is clearly labeled as being of class double, so actually these can be concatenated together:
c =
[4x3 double] [3x3 double] [2x3 double] [1x3 double]

Andrei Bobrov on 27 May 2015
out = cat(1,c{:});
singh on 27 May 2015
thanks andrei