如何在matlab中将单元格数组的每一列转换为数组

时间:2017-04-11 18:48:04

标签: matlab

我有一个单元格数组C看起来像:

   start        end
  -------      --------
     a           b
     c           d
     d           a

我需要从C生成两个数组s = [a,c,d]和t = [b,d,a]。

你能告诉我如何在Matlab中做到这一点吗?

1 个答案:

答案 0 :(得分:1)

如果你有一个单元格数组,你只需抓住每一列并使用cellmat转换为一个数组

A = cellmat(C(:,1));
B = cellmat(C(:,2));

如果每个单元格元素的内容都是非标量,则您需要将它们保留为cell,因此您只需使用()索引

A = C(:,1);
B = C(:,2);

但是,看起来您实际上有一个table,在这种情况下您可以直接引用列

A = C.start;
B = C.end;