Я хочу вырастить вектор-столбец (не знаю, как долго это будет в конце). У меня есть тестовый код. Меня, однако, смущает его поведение. При инициализации vel=[0]
вектор становится прекрасным. При инициализации с vel=[1]
это не так. Появляется следующее сообщение об ошибке: «Attempted to access vel(2); index out of bounds because numel(vel)=1.
»Matlab понимать растущие векторы
Почему это? Не имеет значения, что такое первый элемент моего вектора, или он делает это? Спасибо, что нарушили это для меня.
Найти код ниже:
vel=[0]
k=1
v=0
for i=1:10;
if v>= vel(k)
vel(k+1)=v %stores all v values, for plotting and analysis of v0 behaviour
end
%assignin('base','vel',vel)
k=k+1
v=v+1
end
Почему вы не используете массив [cell] (http://uk.mathworks.com/help/matlab/ref/cell.html) и преобразовываете его в массив после? – kkuilla
@kkuilla, как это изменит что-нибудь? – TheBlackCat
У вас не было бы непредсказуемого поведения растущего массива. Вы знаете размер ячейки после цикла и можете предварительно выделить это. – kkuilla