【解決方法】初期開始位置の1つのdでのランダムウォーカーのPythonシミュレーションはゼロです


#set up the data we will needed
import numpy as np 

import matplotlib.pyplot as plt

X0 = 0

T  = 1   #total time 

dt = .001 #time steps 

N  = int(T/dt) # no of time steps 

D  = 1   

np.random.seed(1)
    
t = dt * np.arange(N)   



dx = np.sqrt(2 * D * dt)*np.random.randn(N) 


x  = np.zeros(N)

for i in range(N-1):
    N =100000
    x[i+1] = x[i] + dx[i]
 
    
plt.plot(t, x )

plt.show()

私が試したこと:

だから私はその中に複数の曲線を繰り返して取得したいし、 for loop を適用したい。 しかし、これを適用する方法がわかりません。

解決策 1

このようなことを意味しますか

Python
#set up the data we will needed
import numpy as np
import matplotlib.pyplot as plt

W = 5 # walkers

X0 = 0

T  = 1   #total time 

dt = .001 #time steps 

N  = int(T/dt) # no of time steps 

D  = 1

np.random.seed(10)

t = dt * np.arange(N)

dx = np.sqrt(2 * D * dt)*np.random.randn(N,W)

x  = np.zeros((N,W))

for w in range(W):
  for i in range(N-1):
    x[i+1][w] = x[i][w] + dx[i][w]

plt.plot(t, x )

plt.show()

?

コメント

タイトルとURLをコピーしました