Matlab:单元数组或多个多维矩阵(迭代)

时间:2013-11-04 16:21:01

标签: arrays matlab matrix multidimensional-array cell

我必须创建50-100个多维矩阵(在这些矩阵中包含大约7个矩阵,大小为25 * 10)。我想存储它们,以便我可以遍历它们并操纵它们的条目。由于我已经读过将矩阵的名称与数字和eval()连接起来不是一个好主意,我想我可以将它们全部存储在一个单元格数组中。但后来我读到,如果矩阵只包含数字而没有字符串,那么可以使用单元格阵列,因为与矩阵相比,它们会慢速处理。 现在我希望你能告诉我如何做出决定。

2 个答案:

答案 0 :(得分:1)

如果所有矩阵的大小相同,最好使用尺寸为25x10x7x100的4D矩阵。你说"关于7":所有3D矩阵的数字是否相同?如果没有,我认为单元格阵列是正确的方法。

当您要存储的矩阵的大小不同时,需要使用单元格数组,因此不能在高维矩阵中存储(至少不容易)。

答案 1 :(得分:0)

你的问题有点不清楚,但这是试图解决你的问题:

单元格数组允许您存储“混合”数据 - 字符串在一个,矩阵在另一个,等等。由于您在谈论不同“单元格”中的不同矩阵(大小,数字),单元格数组是一种非常合理的方式存储它们。但是如果矩阵的大小都相同,那么最好将它们存储在单个矩阵中(具有额外的维度)。实际上,当矩阵本身很大时,低效率的开销很小 - 与访问所有250个元素的时间相比,“调用”一个矩阵所需的时间很短。