一个简单的随机漫步
概述:从0开始,步长为1和0,而且两种发生的概率相同,实现1000步
import random
position = 0
walk = [position]
steps = 1000
for i in range(steps):
step = 1 if random.randint(0, 1) else 0
position += step
walk.append(position)
import matplotlib.pyplot as plt
%matplotlib inline
plt.plot(walk[:100])
比较简单的方法
plt.plot(np.random.choice(2,100).cumsum())
多次随机漫步
nwalks = 5000
nsteps = 1000
draws = np.random.randint(0, 2, size=(nwalks, nsteps)) # 0 or 1
steps = np.where(draws > 0, 1, -1)
walks = steps.cumsum(1)
plt.plot(walks[1]) # 打印了第一次