当前位置: 代码迷 >> python >> 布朗运动程序
  详细解决方案

布朗运动程序

热度:47   发布时间:2023-06-13 13:40:44.0

因此,我试图创建一个模拟布朗运动的程序。 目前,它不起作用,我不知道为什么。

我想要一个动态输出,其中每个点都从(0,0)开始,然后为每个点分配一个随机坐标,以便每个点在坐标系中随机“移动”。 现在,当我启动程序时,输出仅为1个静态图像,其中点位于随机位置。

码:

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)

您需要将更新阶段( for i in range(0, inp) )放置在循环内。

现在,您只绘制一次每个粒子。 如果您只运行一个更新,则最多只能获得一张图像。

另外,您可能希望对粒子使用浮点位置,并使用具有固定模数(具有明显较小的模数)的随机定向向量来更新它们,否则将无法欣赏运动。

也许您可以用不同的颜色渲染它们的位置以区分轨迹?

  相关解决方案