1

如何在 Matlab 中创建可扩展数组?

我可以创建一个固定长度的数组,myArray = zeros(1,2);但我需要一个可以不断将新元素推送到列表中的数组。我应该如何运行命令来做到这一点?

4

2 回答 2

3

MATLAB 数组/矩阵在构造上是动态的。myArray = [];将创建一个动态数组。从那里您可以分配和扩展(通过附加或连接)。一些例子:

myArray = zeros(1,2);
myArray(:,end+1) = 1;
myArray(end+1,:) = ones(1,3);
myArray = [myArray 2*myArray];

如果无法选择预分配,则可以在此处找到有关 MATLAB 中不同数组大小调整选项的效率的有趣分析:数组大小调整性能

您还可以查看此 SO 帖子:MATLAB 中未知长度的矩阵

于 2013-03-24T20:52:13.720 回答
3

您可以将值分配给项目。

myArray = zeros(1,2);
myArray(1,3)=3; % item assignment

myArray 现在的维度为 (1,3)。

于 2013-03-24T20:41:08.867 回答