问题#1a。 [5分]假设一只蚂蚁每秒通过一步(x,y)随机游荡,其中,在每个蚂蚁步骤中,x和y均来自正态分布,其均值为0,标准差为1.0mm(对下面的所有问题都假设这)。在一个小时的时间内绘制蚂蚁的路径轨迹。
mean = 0
sd = 1.0
side = np.random.normal()
step = np.random.normal()
for side, step in np.random.normal(1,3600): #3600 seconds in one hour
side += 1
step += 1
x.append(side) #one step in x direction
y.append(step) #one step in y direction
plt.plot(x,y,color = "darkpink")
答案 0 :(得分:0)
您发布的代码存在严重问题
np.random.normal
的{{3}},您会发现前两个位置参数是 mean 和标准偏差的。第三个参数实际上是形状,您可以将其作为关键字参数进行访问。norm(0,1)
,您肯定会转移从0到1 norm(1,1)
的平均值。代码:
import numpy as np
import matplotlib.pyplot as plt
path = steps = np.random.normal(size=(3600,2))
# pos(n) = pos(n-1) + step(n)
for n in range(path.shape[0]-1):
path[n+1] += path[n]
# Compact way to plot x and y: (3600,2) -> (2,3600) and the * expand along the first axis
plt.plot(*path.T)
plt.show()