随机漫步示例

随机漫步的模拟提供了一个使用数组操作的说明性应用。首先,我们来考虑一个简单的随机漫步,从0开始,步进为1和-1,且两种步进发生的概率相等:

import random
import matplotlib.pyplot as plt
position = 0
walk = [position]
steps = 1000
for i in range(steps):
    step = 1 if random.randint(0,1) else -1
    position += step
    walk.append(position)
plt.plot(walk[:100])
plt.show()

对随机漫步的前100步进行数据可视化:
在这里插入图片描述walk只是对随机步进的累积,并且可以通过一个数组表达式实现。我们可以使用np.random模块一次性抽取1000次投掷硬币的结果,每次投掷的结果为1或-1,然后计算累计值:

nsteps = 1000
draws = np.random.randint(0,2,size = nsteps)
steps = np.where(draws >0,1,-1)
walk = steps.cumsum()

猜你喜欢

转载自blog.csdn.net/weixin_43303087/article/details/84327414