我有一个dim x {5,5,5,7,4}的单元格,它包含的每个元素都是1x5双。我想将x从cell转换为matrix或double。现在,当我打开x时,它只是说元素是1x5双。怎么做?
答案 0 :(得分:0)
如果您的所有元素都是1x5
double
数组,那么您可以使用cat
(结合{:}
索引)来连接第一维的所有内容
result = cat(1, x{:})
答案 1 :(得分:0)
我认为这应该适用于eval或feval和cell2mat的组合,它可以为您提供单元格中的矩阵。
你只能在第二低的'上使用cell2mat。单元格的级别,因此在此解决方案中,您必须遍历单元格的5个维度,以便为每个第二最低级别的单元格x {k} {l} {m} {n}提供类似于&#39的名称; M_int2str(k)的_int2str(升)_int2str(米)_int2str(N)'与eval。之后,以您希望的方式连接生成的5 * 5 * 5 * 7矩阵。
另一种 - 可能更容易和更快 - 可能是用cell2mat创建一个细胞金字塔。一个较短的例子:
C={{[1,2,3],[4,5,6]},{[7,8,9],[10,11,12]}};
for k=1:2
M{k}=cell2mat(C{k});
end
N=cell2mat(M)
结果是
N =
1 2 3 4 5 6 7 8 9 10 11 12.