完成一维的随机游走(p值多取几个,并画出图形,y轴取值最大为30)
时间: 2023-06-08 19:05:40 浏览: 46
好的,针对您的问题,我可以为您提供如下代码示例,完成一维的随机游走,并画出对应的图形:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义随机游走函数
def random_walk(steps, p):
x = 0
positions = [x]
for i in range(steps):
x += np.random.choice([-1, 1], p=[1-p, p])
positions.append(x)
return positions
# 设置参数并进行随机游走
steps = 100
p_values = [0.2, 0.4, 0.6, 0.8]
results = []
for p in p_values:
positions = random_walk(steps, p)
results.append(positions)
# 画出图形
fig, ax = plt.subplots(figsize=(10,6))
ax.set_xlabel('Time')
ax.set_ylabel('Position')
ax.set_ylim([-30, 30])
for i, p in enumerate(p_values):
ax.plot(results[i], label=f'p={p}')
ax.legend()
plt.show()
```
以上代码将会输出一个随机游走的图形。敬请查收。