如何在 Matlab 中创建可扩展数组?
我可以创建一个固定长度的数组,myArray = zeros(1,2);
但我需要一个可以不断将新元素推送到列表中的数组。我应该如何运行命令来做到这一点?
如何在 Matlab 中创建可扩展数组?
我可以创建一个固定长度的数组,myArray = zeros(1,2);
但我需要一个可以不断将新元素推送到列表中的数组。我应该如何运行命令来做到这一点?
MATLAB 数组/矩阵在构造上是动态的。myArray = [];
将创建一个动态数组。从那里您可以分配和扩展(通过附加或连接)。一些例子:
myArray = zeros(1,2);
myArray(:,end+1) = 1;
myArray(end+1,:) = ones(1,3);
myArray = [myArray 2*myArray];
如果无法选择预分配,则可以在此处找到有关 MATLAB 中不同数组大小调整选项的效率的有趣分析:数组大小调整性能。
您还可以查看此 SO 帖子:MATLAB 中未知长度的矩阵。
您可以将值分配给项目。
myArray = zeros(1,2);
myArray(1,3)=3; % item assignment
myArray 现在的维度为 (1,3)。