【发布时间】:2015-08-09 10:52:59
【问题描述】:
在 Matlab 中,在三个不同的 for 循环(对于 a=1:240,b=1:5 和 c=1:3)结束时,我生成了一个 {1,3} 元胞数组,其中每个元胞包含一个(1,5) 数组,仅报告 240 次迭代的最后一个结果。 除了这个单元数组之外,我如何生成一个 (240,5,3) 3d 数组来存储每次迭代的结果? 或者,等价的,一个元胞数组,再次存储信息,然后将其转换为 (240,5,3) 3d 数组?
【问题讨论】:
-
请发布一些示例数据(输入和工作输出)。另请阅读本文以了解如何索引元胞数组:stackoverflow.com/a/25621199/1011724
-
是的,你是对的。假设我有: a=240; b=5; c=3; A {c}= cell (1,b) for i=1:a for j=1:b for k=1:c A{c}(b)= %assignment end end end 其中 %assignment 是一系列操作通过 a、b、c。现在,在这个循环结束时,我只获得 A{c}(b),而我还想获得 A (a,b,c) 以及在 a,b,c 上的每次迭代的部分结果。
-
请将您评论中的代码放在您的实际问题中,在评论中很难阅读
-
这个问题不清楚。为什么只存储最后的结果?为什么是 {1,3} 单元格?究竟存储了什么,一个标量?如果是这样,答案就变得很简单,但问题仍然很复杂,可能对其他人没有帮助。
标签: matlab multidimensional-array cell-array