如何在Matlab中创建可扩展数组?
我可以使用myArray = zeros(1,2);
创建一个固定长度的数组但是我需要一个可以继续将新元素推送到列表中的数组。我该如何运行命令来执行此操作?
答案 0 :(得分:2)
您可以将值分配给该项目。
myArray = zeros(1,2);
myArray(1,3)=3; % item assignment
myArray现在将是维度(1,3)。
答案 1 :(得分:2)
MATLAB数组/矩阵是构造动态的。 myArray = [];
将创建一个动态数组。从那以后,您可以分配和扩展(通过附加或连接)。一些例子:
myArray = zeros(1,2);
myArray(:,end+1) = 1;
myArray(end+1,:) = ones(1,3);
myArray = [myArray 2*myArray];
有关MATLAB中不同数组大小调整选项效率的有趣分析,如果预分配不是一个选项,可以在此处找到:Array resizing performance。
您还可以查看此SO帖子:Matrix of unknown length in MATLAB。