所以我试图创建一个模拟布朗运动的程序。目前它不起作用,我无法弄清楚原因。
我想要一个动态输出,其中每个点都从(0,0)开始,之后为每个点分配一个随机坐标,以便每个点移动"在坐标系中随机出现。现在,当我启动程序时,输出只是一个静态图像,点随机位置。
代码:
import matplotlib.pyplot as plt
import numpy as np
import random
val = input("Number of particles")
inp = int(val)
x = [0]*inp
y = [0]*inp
for i in range(0,inp):
x[i] = x[i] + random.randint(0,9)
y[i] = y[i] + random.randint(0,9)
for k in range(0,inp):
N=9
plt.scatter(x[k],y[k])
plt.hold(True)
答案 0 :(得分:0)
您需要将更新阶段(for i in range(0, inp)
)置于循环中。
现在,你只画一次粒子;如果只运行一次更新,则无法获得多个图像。
此外,您可能希望使用粒子的浮点位置并使用固定模数的随机定向矢量(模数明显更小)更新它们,否则您将无法欣赏该运动。
也许你可以用不同的颜色渲染他们的位置来区分轨迹?