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中的一个。如果我将这些块与它们自己的程序分开运行,代码将生成两个完全不同的行走,只有当我将它们放在一起时,它才会停止按预期工作。我到底错过了什么
您意外地重用了第一个绘图中的变量:
我会用一个函数生成随机游走,这样你就不用担心重命名变量了:
相关问题 更多 >
编程相关推荐