如何从嵌套单元格中分离数据?

时间:2015-01-28 17:30:11

标签: arrays matlab nested cell cell-array

我有一个嵌套的单元格,如下所示

A= {1x12 cell}  {1x12 cell}  {1x12 cell}  {1x12 cell}  {1x12 cell}

我曾尝试使用A {:}获取上述单元格中的数据,并按以下方式获取

ans = 

 Columns 1 through 12

'1'    '0'    '1'    '0'    '1'    '0'    '0'    '1'    '1'    '1'    '1'    '1'



 ans = 

 Columns 1 through 12

'1'    '1'    '0'    '1'    '1'    '1'    '1'    '0'    '1'    '1'    '0'    '0'




 ans = 

 Columns 1 through 12

'0'    '1'    '1'    '1'    '0'    '0'    '0'    '0'    '1'    '1'    '0'    '0'




 ans = 

  Columns 1 through 12

'1'    '1'    '1'    '1'    '0'    '1'    '1'    '0'    '0'    '0'    '0'    '1'




  ans = 

  Columns 1 through 12

'0'    '0'    '1'    '0'    '0'    '1'    '0'    '1'    '0'    '0'    '0'    '1'

我希望将每个单元格内的二进制数据存储在变量中的单独向量中。我想要的输出如下,

  a1=[1    0    1    0    1    0    0    1    1    1    1    1    ]

  a2=[1    1    0    1    1    1    1    0    1    1    0    0    ]

  a3=[0    1    1    1    0    0    0    0    1    1    0    0    ]

  a4=[1    1    1    1    0    1    1    0    0    0    0    1    ]

  a5=[0    0    1    0    0    1    0    1    0    0    0    1    ]

如何实现这样的结果?提前谢谢。

1 个答案:

答案 0 :(得分:3)

您最好使用矩阵(如Divakar所建议):

M = reshape(cell2mat([A{:}]),[],numel(A)).';

或者更简单地说,正如knedlsepp所说:

M = cell2mat(cat(1,A{:}));

然后你想要的"变量"是M的行,即M(1,:)M(2,:)等。