二维方格随机沃克问题均值位移向量

时间:2019-01-31 04:30:35

标签: python random montecarlo random-walk

问题是要针对N的不同值,通过对M个随机游走的xN和yN进行集合平均来计算平均位移矢量。将图绘制为N的函数,然后通过对R_N ^ 2进行集合平均来计算平均平方位移M-1000步行者原本以二维为起点。

这是我的编码器,用于放置独立于服务的随机游动图:

import numpy as np
import pylab 
import random 

# defining the number of steps 
M = 1000

#creating two array for containing x and y coordinate 
#of size equals to the number of size and filled up with 0's 
x = np.zeros(M) 
y = np.zeros(M) 

# filling the coordinates with random variables

for i in range(1, M):
      value = random.randint(1, 4)
      if value == 1:
           x[i] = x[i - 1] + 1
           y[i] = y[i - 1] 
      elif value == 2: 
           x[i] = x[i - 1] - 1
           y[i] = y[i - 1] 
      elif value == 3: 
           x[i] = x[i - 1] 
           y[i] = y[i - 1] + 1
      else: 
           x[i] = x[i - 1] 
           y[i] = y[i - 1] - 1


def compute_SquareMean(value):
   totalsize=len(value)
   msd=[]
  for i in range(totalsize-1):
      j=i+1
      msd.append(np.sum((value[0:-j]      

value [j ::])** 2)/ float(totalsize-j))       msd = np.array(msd)       返回msd

print(compute_SquareMean)
pylab.title("Random Walk ($n = " + str(M) + "$ steps)") 
pylab.plot(x,y)      
pylab.show() 

有人可以向我展示代码,以通过对M个不同的步长进行集合平均xN和yN来计算平均位移矢量,其中N的值不同,并且通过集合平均R_N ^ 2对平均平方位移进行计算。我怀疑我的compute_SquareMean函数不能正常工作,因为它给出了一个位置作为输出。应该注意的是,随机沃克路径的for循环运行良好。谢谢

0 个答案:

没有答案