我有一个大小为1 * 15的单元格数组。每个单元阵列具有不同的矩阵大小,并且是从大矩阵生成的。我知道必须将单元阵列重新整形为3 * 5才能生成大矩阵。我希望能够将1 * 5单元阵列重新整形为3 * 5的矩阵,然后生成一个单个大矩阵,其元素来自3 * 5大小的单元矩阵。
更多细节:我的原始矩阵有14451 * 24557大小。我使用“mat2tiles”命令将其截断为6000 * 6000的较小块。然后,我用它生成了一个1 * 15的单元阵列,用“parfor”进行某些操作。现在,我想重塑回原始矩阵大小。有什么想法吗?
答案 0 :(得分:4)
嗯,你知道些什么。 reshape
实际上适用于细胞。奇怪的是,文档没有说明,但它的工作原理如下:
a=cell(15,1);
reshape(a,5,3)
ans =
[] [] []
[] [] []
[] [] []
[] [] []
[] [] []
答案 1 :(得分:-1)
这是你正在寻找的吗?
a(1).test = zeros(1,15)
reshape(a(1).test,3,5)
那是一个...... 更简单:
a(2).test = zeros(1,15)
[reshape(a(1).test,3,5) reshape(a(2).test,3,5)]
与Adriaan的评论有关... 以上是针对细胞阵列的结构的可比性
a=1:15;
b=16:30;
a =num2cell(a);
b =num2cell(b);
reshape([a b],5,6)