2017-04-07 98 views

回答

0

如果所有的元素都是1x5double阵列,那么你可以使用cat(与{:}索引相结合)来连接所有内容沿着第一维度

result = cat(1, x{:}) 
+0

但其中一些为NaN。谢谢,我会试试这个。 – user3309191

+0

@ user3309191'NaN'仍然是一个'double',所以它不应该是个问题 – Suever

0

我想这应该与eval组合工作或者feval和cell2mat,它们给出了一个单元格外的矩阵。

您只能在单元格的“次低”级别上使用cell2mat,因此在此解决方案中,您必须遍历单元格的5个维度,以给每个次低级单元格x {k } {l} {m} {n}带有eval的名称,如'M_int2str(k)_int2str(l)_int2str(m)_int2str(n)'。之后,以您希望的方式连接所得到的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. 
+0

非常感谢。我会试试这个。 – user3309191