from pylab import *
no_steps = 10000
number = random()
position = zeros(no_steps)
position[0] = 0
time = zeros(no_steps)
time[0] = 0
for i in range(1, no_steps):
time[i] = time[i-1] + 1
if number >= 0.5:
position[i] = position[i-1] + 1
number = random()
else:
position[i] = position[i-1] - 1
number = random()
plot(time, position)
number2 = random()
position2 = zeros(no_steps)
position2[0] = 0
time2 = zeros(no_steps)
time2[0] = 0
for t2 in range(1, no_steps):
time2[t2] = time[t2-1] + 1
if number2 >= 0.5:
position2[t2] = position2[t2-1] + 1
number2 = random()
else:
position2[t2] = position[t2-1] - 1
number2 = random()
plot(time2,position2)
Это должно генерировать случайные прогулки, генерируя случайное число каждый раз и проверяя условия. Поэтому я предположил, что если это работает на одну прогулку, я могу просто добавить больше одинаковых и поместить их все в один график в конце. Тем не менее, очевидно, что это не так, и графики, которые в итоге построены, чрезвычайно похожи, с разницей в позициях по некоторым причинам, равной -2. Код, если я запускаю блоки отдельно от их собственной программы, сгенерирует два совершенно разных варианта, только когда я их соберу, он перестанет работать так, как задумано. Что именно мне не хватает?