matlab中A为cell(2,3,8),A中每一个元素都是一个矩阵,如何将A(1,1,1:8)的8个矩阵进行合并
问题描述:
matlab中A为cell(2,3,8),A中每一个元素都是一个矩阵,如何将A(1,1,1:8)的8个矩阵进行合并
答
c=[]; % 初始化c
for i=1:8
c=[c A{1,1,i}]; % 注意:使用的是花括号,不是小括号
end
】元胞的运算中,小括号是取元胞元素,花括号是取元胞元素中的内容.谢谢你,如果我想将A中所有的A(:,:,1:8)的8个矩阵合并,该怎么写循环呢?若能达到效果一定加分!三重循环是无法避免的……我似乎没想到什么比下面更简便的写法:
p={[]};% 元胞B的基本单位是空矩阵元胞元素p,这样方便之后合并A中矩阵
B=repmat(p,2,3);% 完成元胞的初始化,2行3列的元胞B
for i=1:2
for j=1:3
for k=1:8
B{i,j}=[B{i,j}A{i,j,k}];%把合并结果放在元胞B中,同样是花括号
end
end
end