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,:) = [];
person
Jacob
schedule
10.10.2009