how to cell array all data into a matrices

1 view (last 30 days)
suppose i have a cell array
a={{1,2,3};12;{21,32,43}};
how to get all data in single matrix
b=[1,2,3,12,21,32,43]'

Accepted Answer

Star Strider
Star Strider on 29 Apr 2015
Edited: Star Strider on 29 Apr 2015
Use horzcat and cell2mat:
b = cell2mat(horzcat(a{:}))
produces:
b =
1 2 3 12 21 32 43
I didn’t initially see the transpose operator. To get it as a column vector, add the transpose:
b = cell2mat(horzcat(a{:}))'
  2 Comments
singh
singh on 29 Apr 2015
star ur genius
A =
[1x4 double] [19] [1x4 double] [1x4 double]
A{:}
ans =
1 2 14 16
ans =
19
ans =
6 12 15 20
ans =
3 4 7 17
how to get it into single matrix
B=[1,2,14,16,19,6,12,15,20,3,4,7,17]
strider plz check
Star Strider
Star Strider on 29 Apr 2015
I wish! Thank you for the compliment.
Slightly different with ‘A’ here, since it is a cell array of vectors and not a cell array of cells, so we do not need cell2mat this time:
B = horzcat(A{:})
produces:
B =
1 2 14 16 19 6 12 15 20 3 4 7 17

Sign in to comment.

More Answers (0)

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!