【发布时间】:2013-02-17 00:06:05
【问题描述】:
我有 5 个不同维度的矩阵(n = 256、512、1024、2048 和 4096),我想知道如何将它们存储在数组中(稍后我可以在 for 循环中迭代)。我试着做 {\tt matArray = [A B C D E];} 但它说 horzcat 需要同意的尺寸。我也尝试过使用单元格,但我可能没有正确使用它们,因为我收到一条错误消息,上面写着“无法从双重单元格转换为单元格”。这是给我一个错误的代码:
A=randi(9, 256);
B=randi(9, 512);
C=randi(9, 1024);
D=randi(9, 2048);
E=randi(9, 4096);
matArray=cell(1,5);
matArray(1)=A;
matArray(2)=B;
matArray(3)=C;
matArray(4)=D;
matArray(5)=E;
你们知道发生了什么吗?提前致谢。
【问题讨论】:
-
元胞数组使用 {} 进行索引。或者使用 matArray = [A;B;C;D;E];
-
George 是正确的,如果您不介意它们都在同一个数组中结束(
;导致垂直连接 - 由于第一个维度相同,因此可以使用)。跨度> -
我试过 matArray[A;B;C;D;E];之前我得到了错误:'CAT 参数尺寸不一致'。
-
尺寸不同。 randi(9, n) 中的 9 是指矩阵中一个条目的最大值。因此,randi(9, 100) 将返回一个 100 x 100 矩阵,其中随机条目介于 1 和 9 之间。