Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中矩阵的提取与存储_Matlab_Matrix_Extraction - Fatal编程技术网

Matlab中矩阵的提取与存储

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)

我有一个包含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);

您想按行还是按列连接20个矩阵?您的想法是正确的,只需将其包装在for循环
for i=1:20:380
中,并使用问题中所示的索引赋值运算符来组织元素即可。如果尺寸不太整齐,您可能需要嵌套一个循环来处理j=1:20的20个独立矩阵
,并将它们插入正确的位置