繁体   English   中英

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

[英]Storing different sized matrices into array in MATLAB

我有5个不同维度的矩阵(n = 256、512、1024、2048和4096),我想知道如何将它们存储在数组中(以后可以在for循环中迭代)。 我尝试只做{\\ tt matArray = [ABCDE];},但它表示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{1}=A;

这就是处理单元元素的方式。 您可以稍后使用matArray{1}等进行引用。

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

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

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

您需要分号来进行垂直串联。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM