如何在多个for循环到3d数组期间将创建的结果存储到单元格数组中?在Matlab中

时间:2015-05-27 11:22:01

标签: matlab multidimensional-array cell-array

在Matlab中,在三个不同的for循环结束时(对于a = 1:240,b = 1:5和c = 1:3),我生成一个{1,3}单元格数组,其中每个单元格包含一个(1,5)仅报告240次迭代的最后结果的数组。 除了这个单元格数组之外,如何生成一个存储每次迭代结果的(240,5,3)3d数组? 或者,等效地,一个单元数组再次存储信息,然后将其转换为(240,5,3)3d数组?

1 个答案:

答案 0 :(得分:0)

代码将遵循:

%// Size of the problem
Na = 240;
Nb = 5;
Nc = 3;

%// Allocate empty cell array
result = cell(Na, Nb, Nc);

%// Loop
for a = 1:Na
        for b = 1:Nb
                for c = 1:Nc
                        %// Here is the code for computing the
                        %// result x of the last iteration.

                        result{a,b,c} = x;
                end;
        end;
end;