Вопрос просит вычислить вектор среднего смещения путем усреднения по ансамблю xN и yN по M случайным блужданиям для различных значений N. График как функция от N, а затем смещение среднего квадрата по усреднению по ансамблю R_N ^ 2 дляХодоки М-1000, которые все изначально у истоков в 2-м.
Вот мой кодер для размещения карт случайных блужданий, независимых от сервала:
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) return msd
print(compute_SquareMean)
pylab.title("Random Walk ($n = " + str(M) + "$ steps)")
pylab.plot(x,y)
pylab.show()
Может кто-нибудь показать мне код для вычисления среднего вектора смещения путем усреднения по ансамблю xN и yN по M случайным блужданиям для различных значений N и среднего квадратасмещение по ансамблю усреднение R_N ^ 2.Я подозреваю, что моя функция compute_SquareMean не работает должным образом, потому что она дает местоположение в качестве вывода.Следует отметить, что цикл for для случайного пути обходчика работает отлично.Спасибо