MATLAB использует динамическую типизацию с автоматическим управлением памятью. Это означает, что вам не нужно объявлять матрицу фиксированного размера перед ее использованием - вы можете изменять ее по мере продвижения, и MATLAB будет динамически выделять память для вас.
НО способ эффективнее сначала выделить память для матрицы, а , а затем использовать ее. Но если вашим программам нужна такая гибкость, сделайте это.
Полагаю, вам нужно добавлять строки в матрицу. Следующий код должен работать.
Matrix = [];
while size(Matrix,1) <= 10
Matrix = [Matrix;rand(1,2)];
end
disp(Matrix);
Здесь мы динамически перераспределяем пространство, необходимое для Matrix
каждый раз, когда вы добавляете новую строку. Если вы заранее знаете, скажем, верхнюю границу количества строк, которое у вас будет, вы можете объявить Matrix = zeros(20,2)
и затем постепенно добавлять каждую строку в матрицу.
% Allocate space using the upper bound of rows (20)
Matrix = zeros(20,2);
k = 1;
for k = 1:10
Matrix(k,:) = rand(1,2);
end
% Remove the rest of the dummy rows
Matrix(k+1:end,:) = [];