(二)模仿醉汉在二维空间上的随机漫步:一个醉汉喝醉酒,每次只能走一步,每步分别沿着x,y轴走一个单位长度,试着画出醉汉的轨迹。
时间: 2023-05-29 07:07:54 浏览: 291
以下是一个Python实现,模拟醉汉在二维空间上的随机漫步,其中包含了绘制醉汉轨迹的代码:
```python
import random
import matplotlib.pyplot as plt
def random_walk_2D(n):
# 初始位置
x = 0
y = 0
# 记录醉汉的轨迹
trajectory = [(x, y)]
# 进行n步随机漫步
for i in range(n):
# 随机选择方向
direction = random.choice(['N', 'S', 'E', 'W'])
if direction == 'N':
y += 1
elif direction == 'S':
y -= 1
elif direction == 'E':
x += 1
else:
x -= 1
# 记录醉汉的位置
trajectory.append((x, y))
return trajectory
# 进行1000步随机漫步
trajectory = random_walk_2D(1000)
# 绘制醉汉的轨迹
x = [pos[0] for pos in trajectory]
y = [pos[1] for pos in trajectory]
plt.plot(x, y)
plt.title('Random Walk of a Drunken Man in 2D')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
```
运行上述代码,可以得到以下的醉汉轨迹图像:
![Random Walk of a Drunken Man in 2D](https://i.imgur.com/mi7FJ9X.png)
阅读全文