我编写了二维随机游走的代码:
def r2walk(T):
x = np.zeros((T))
y = np.zeros((T))
x = [0]*T
y = [0]*T
for t in range(0,T):
walk = random.random()
if 0 < walk < .25:
x[t] = x[t-1] + 1
elif .25 < walk < .5:
x[t] = x[t-1] - 1
elif .5 < walk < 0.75:
y[t] = y[t-1] + 1
else:
y[t] = y[t-1] - 1
return x, y
我希望能够在x,y网格上绘制随机游走的路径,但我不确定如何继续。我也是python的新手,我很感激任何有关编写代码的技巧(或者你的观点可能会优雅地编写代码)。提前谢谢!
答案 0 :(得分:1)
您需要使用一些绘图包。最常用的是matplotlib
,它与numpy
一起出色地工作。
然后您的代码如下:
import matplotlib.pyplot as plt
import numpy as np
import random
def r2walk(T):
x = np.zeros((T))
y = np.zeros((T))
for t in range(0,T):
walk = random.random()
if 0 < walk < .25:
x[t] = x[t-1] + 1
elif .25 < walk < .5:
x[t] = x[t-1] - 1
elif .5 < walk < 0.75:
y[t] = y[t-1] + 1
else:
y[t] = y[t-1] - 1
return x, y
x, y = r2walk(100)
# create a figure
fig = plt.figure()
# create a plot into the figure
ax = fig.add_subplot(111)
# plot the data
ax.plot(x,y)
这会给你:
如果您对matplotlib
全新,我建议您查看IPython
和pylab
以及一些matplotlib
教程。你可以用百万种不同的方式策划你的步行。