Main Content

cell2mat

将元胞数组转换为基础数据类型的普通数组

说明

示例

A = cell2mat(C) 将元胞数组转换为普通数组。元胞数组的元素必须全都包括相同的数据类型,并且生成的数组也是该数据类型。

C 的内容必须支持串联到 N 维矩形中。否则,结果将不确定。例如,同一列中的元胞的内容必须具有相同的列数,但不需要具有相同的行数(见图)。

Six cell arrays concatenated into one ordinary array

示例

全部折叠

将一个元胞数组的四个元胞中的数值数组转换为一个数值数组。

C = {[1],    [2 3 4];
     [5; 9], [6 7 8; 10 11 12]}
C=2×2 cell array
    {[       1]}    {[   2 3 4]}
    {2x1 double}    {2x3 double}

A = cell2mat(C)
A = 3×4

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

将元胞数组中的结构体转换为一个结构体数组。这些结构体必须包含相同的字段。

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=1×2 struct array with fields:
    a
    b

显示结构体 d(1) 的第一个字段。

d(1).a
ans = 1×4

     1     2     3     4

显示 d(2) 的第二个字段。

d(2).b
ans = 
'Morning'

输入参数

全部折叠

输入元胞数组,其中所有元胞都包含同一数据类型。cell2mat 接受 C 的元胞中的数值数据、逻辑数据或字符数据,或者包含相同字段名称和数据类型的结构体。cell2mat 不接受 C 中的对象或嵌套元胞。

扩展功能

版本历史记录

在 R2006a 之前推出