如何用不同的尺寸构建数组?

44次观看(最近30天)
拉明BBA
拉明BBA 2014年6月30日
评论: 拉明BBA2014年6月30日
我想使用“ for Loop”保存一些数据。在每次迭代中,我将获得一个2D矩阵(我要保存)。矩阵的大小不相同,即第一个10*10,然后是23*23,下一个20*20,依此类推(尺寸之间没有模式)。我显然不能使用3D矩阵来保存数据,因为第三维不是恒定的。我无法手动/分别保存它们,因为有很多2D矩阵(这实际上就是为什么我将其放在for for loop中的原因)。我也不知道最大的2D矩阵的大小。
我可以用什么来做上述?细胞?结构体?
提前TNX

接受的答案

图像分析师
图像分析师 2014年6月30日
是的。使用单元格数组。这就是它的意思。有关一个很好的解释和一些很好的说明性示例,请参见常见问题解答: http://matlab.wikia.com/wiki/faq#what_is_a_cell_array.3f

更多答案(1)

杰夫·海斯(Geoff Hayes)
单元阵列可以很好地解决此问题。因为你有一个 为了 循环,您知道需要保存多少个矩阵。尝试以下操作:
%尺寸的单元格数组,其中n是for循环中的迭代次数(和
%要保存的矩阵数)
CellArray = Cell(N,1);
%迭代
为了k = 1:n
% 做东西
%将KTH矩阵A保存到单元格数组
cellarray {k} = a;
结尾
就是这样 - 所有矩阵都将保存到 Cellarray 目的。

社区寻宝

在Matlab Central中找到宝藏,发现社区如何为您提供帮助!

开始狩猎!