醉汉随机行走图Python完整代码
时间: 2024-06-05 15:05:14 浏览: 196
The Drunkard's Walk:绘制醉汉从灯柱开始随机走 n 步的位置。-matlab开发
醉汉随机行走图(Drunkard's Walk)是一个经典的概率和随机过程模型,通常用于模拟人在酒后随机移动的情况。在Python中,我们可以使用简单的随机数生成来实现这个概念。以下是一个基本的Python代码示例,使用了`random`模块来模拟这个过程:
```python
import random
import matplotlib.pyplot as plt
import numpy as np
# 初始化参数
n_steps = 1000 # 步数
n_trials = 100 # 实验次数
x_axis = np.arange(-10, 11) # x轴范围
# 定义醉汉行走函数
def drunkard_walk(steps):
position = 0
for _ in range(steps):
direction = random.choice([-1, 1]) # 随机选择左或右
position += direction # 更新位置
return position
# 进行多次实验并绘制结果
mean_positions = []
for _ in range(n_trials):
positions = [drunkard_walk(n_steps) for _ in range(n_trials)] # 多次行走
mean_positions.append(np.mean(positions))
plt.hist(mean_positions, bins=x_axis, edgecolor='black')
plt.xlabel('位置')
plt.ylabel('频率')
plt.title('醉汉随机行走图')
plt.show()
```
这段代码首先定义了醉汉行走的步数、实验次数以及x轴的范围。然后,`drunkard_walk`函数模拟每次行走的过程,每次都随机决定是向左还是向右移动一步。最后,进行多次实验,计算平均位置,并用直方图展示结果。
阅读全文