cell2mat

Convert cell array to array

Syntax

Description

example

A = cell2mat(C) converts a cell array with contents of the same data type into an array.

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).

Examples

expand 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:

    a
    b

Display the first field of structure d(1).

d(1).a
ans =

     1     2     3     4

Display the second field of d(2).

d(2).b
ans =

Morning

Input Arguments

expand 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.

Was this topic helpful?