在MATLAB中将不同大小的矩阵存储到数组中

时间:2013-02-17 00:06:05

标签: arrays matlab matrix

我有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;

你们有什么想法发生了什么事吗?提前谢谢。

2 个答案:

答案 0 :(得分:5)

使用matArray{1}=A;

这就是你如何处理一个单元格元素。您可以稍后使用matArray{1}等参考

您可以使用简单语句初始化matArray所有矩阵:

matArray = {A; B; C; D; E};

请注意使用卷曲大括号进行单元格初始化。

答案 1 :(得分:-1)

您需要使用分号进行垂直连接。

matArray = [A; B; C; D; E];