Matlab中矩阵的提取与存储
我有一个包含380个矩阵的单元数组C,我想把它们放在三维矩阵M中 这样,C的第一个20矩阵将以M(:,:,1)和第2个20矩阵(从21到40)表示,单位为M(:,:,2)等 编辑:我想按列连接它们Matlab中矩阵的提取与存储,matlab,matrix,extraction,Matlab,Matrix,Extraction,我有一个包含380个矩阵的单元数组C,我想把它们放在三维矩阵M中 这样,C的第一个20矩阵将以M(:,:,1)和第2个20矩阵(从21到40)表示,单位为M(:,:,2)等 编辑:我想按列连接它们 我可以在Matlab中的一个循环中执行此操作。您甚至不需要循环: %# C: cell array with 380 elements %# reshape C to 20x1xn C = reshape(C,20,1,[]); %# create matrix M M = cell2mat(C)
我可以在Matlab中的一个循环中执行此操作。您甚至不需要循环:
%# C: cell array with 380 elements
%# reshape C to 20x1xn
C = reshape(C,20,1,[]);
%# create matrix M
M = cell2mat(C);
您想按行还是按列连接20个矩阵?您的想法是正确的,只需将其包装在for循环
for i=1:20:380
中,并使用问题中所示的索引赋值运算符来组织元素即可。如果尺寸不太整齐,您可能需要嵌套一个循环来处理j=1:20的20个独立矩阵,并将它们插入正确的位置