将单元格内的单元格转换为单个单元格

时间:2017-02-21 11:41:17

标签: matlab cells

我有1X100细胞,其中含有1X24细胞。我需要提取这100个细胞并将它们连接在一起形成100X24细胞,怎么做呢?

我一直在玩'' cellfun'函数并使用for循环来尝试执行所需的操作但没有成功。我知道我可以逐个加入这些单元格,但更喜欢更有效的方法。任何帮助,将不胜感激。

使用以下内容从原始数据生成单元格:

for i = 1:100
   band{i} = prctile(e-data,i);
end

其中e_data是62X24双

2 个答案:

答案 0 :(得分:3)

prctile的第二个输入可以是array of percentages,因此您的代码可以替换为

band = prctile(e - data, 1:100).';

这将创建一个100 x 24的数字数组,它将比单元格数组更高效。

一般情况下,如果您需要将多个单元格的内容连接在一起,则可以使用{:}索引生成comma separated list,然后可以将其传递给cat

result = cat(1, band{:});

答案 1 :(得分:0)

如果我理解您的目的,您需要使用iscell()并随后检索您想要的内容:

R=cellfun(@iscell, YourCell);
Demanded_Cell=YourCell(R);