Matlab将一致大小的单元格转换为一个矩阵

时间:2014-03-14 10:27:52

标签: arrays matlab cell-array

我看起来像[100×1] cell

{1x5 cell}
{1x5 cell}
{1x5 cell}
{1x5 cell}
...
{1x5 cell}

我想取而代之的是[100×5] cell。我如何在MATLAB中做到这一点?

2 个答案:

答案 0 :(得分:1)

在一般情况下(内容不一定是数字):

result = vertcat(c{:});

示例:

>> c = {{'a',1}; {'aa','b'}; {3,2}}
c = 
    {1x2 cell}
    {1x2 cell}
    {1x2 cell}
>> result = vertcat(c{:})
result = 
    'a'     [1]
    'aa'    'b'
    [ 3]    [2]

答案 1 :(得分:0)

如果它仅包含数字,请尝试此操作 -

num2cell(cell2mat(cellarray))

这里的基本思想是将所有数据转换为双矩阵,然后将其中的每个元素转换为单元格数组的元素。