Convert cell array to ordinary array of the underlying data type




A = cell2mat(C) converts a cell array into an ordinary array. The elements of the cell array must all contain the same data type, and the resulting array is of that data type.

The contents of C must support concatenation into an N-dimensional rectangle. Otherwise, the results are undefined. For example, the contents of cells in the same column must have the same number of columns, although they need not have the same number of rows (see figure).


collapse all

Convert Cell Array to Numeric Array

Convert numeric arrays in four cells of a cell array into one numeric array.

C = {[1],    [2 3 4];
     [5; 9], [6 7 8; 10 11 12]}
C = 

    [         1]    [1x3 double]
    [2x1 double]    [2x3 double]
A = cell2mat(C)
A =

     1     2     3     4
     5     6     7     8
     9    10    11    12

Convert Cell Array of Structures to Array

Convert structures in a cell array into one structure array. The structures must have the same fields.

s1.a = [1 2 3 4];
s1.b = 'Good';
s2.a = [5 6; 7 8];
s2.b = 'Morning';
c = {s1,s2};
d = cell2mat(c)
d = 

1x2 struct array with fields:


Display the first field of structure d(1).

ans =

     1     2     3     4

Display the second field of d(2).

ans =


Input Arguments

collapse all

C — Input cell arraycell array

Input cell array, in which all cells contain the same data type. cell2mat accepts numeric or character data within cells of C, or structures with the same field names and data types. cell2mat does not accept objects or nested cells within C.

Introduced before R2006a

Was this topic helpful?