Существует двумерное случайное блуждание, в котором можно найти here, который отлично работает в Octave. Однако, когда я попытался написать одномерную программу случайного блуждания, у меня появилась ошибка. Вот программа:Почему одномерный вариант 2-го случайного блуждания не работает?
t=[];
x=[];
for i=1:100000
J=rand;
if J<0.5
x(i+1)=x(i)+1;
t(i+1)=t(i)+1;
else
x(i+1)=x(i)-1;
t(i+1)=t(i)+1;
end
end
plot(t,x)
Здесь ошибка:
error: A(I): index out of bounds; value 1 out of bound 0
Спасибо.
Хорошая точка .... – Rashid
cumsum действительно эффективен для этого. Я вижу только крошечное предостережение в этом ответе, оно начинается с -1 или +1. Конечно, это можно легко исправить, добавив 0 в начале, если это необходимо. –
@ yoh.lej Вы правы. Но тогда, в OP-коде, даже не определено, какое начальное значение 'x' должно быть –