Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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
如何将多重for循环期间创建的结果存储到单元格数组中,并将其存储到三维数组中?在Matlab中_Matlab_Multidimensional Array_Cell Array - Fatal编程技术网

如何将多重for循环期间创建的结果存储到单元格数组中,并将其存储到三维数组中?在Matlab中

如何将多重for循环期间创建的结果存储到单元格数组中,并将其存储到三维数组中?在Matlab中,matlab,multidimensional-array,cell-array,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数组?代码如下: %// Size of the problem Na = 240; Nb = 5; Nc = 3; %// Allocat

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

代码如下:

%// 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;

请发布一些示例数据(输入和工作输出)。还可以阅读这篇文章,了解如何为单元格数组编制索引:是的,你说得对。假设我有:a=240;b=5;c=3;A{c}=i=1的单元(1,b):A=j=1的单元(1,b):b=k=1:c A{c}(b)=%assignment end,其中%assignment是通过A,b,c进行的一系列操作。现在,在这个循环的最后,我只得到A{c}(b),而我想得到A(A,b,c),每个迭代的部分结果是A,b,c。请把你评论中的代码放在你的实际问题中,在评论中阅读太难了。他的问题不清楚。为什么只存储最后的结果?为什么是{1,3}单元?究竟存储了什么,标量?如果是这样,答案就变得非常简单,但问题仍然非常复杂,可能对其他人没有帮助。