おいも貴婦人ブログ

生物系博士課程満期退学をしたAIエンジニアのブログ。

1次元のランダムウォーク(今更!!)

このプログラムでは、正規分布に従い乱数を発生させ、その値が負であるならば-1で正であるならば+1させます。これを時間発展させればランダムウォークの出来上がりです。

#! /Usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt

fig=plt.figure()
ax=fig.add_subplot(111)

np.random.seed(1)
N=1000
x=xrange(N)
y=np.zeros(N)

for i in range(1,N):
    a=np.random.normal(0,1)
    if a>=0:
        y[i]=y[i-1]+1
    else:
        y[i]=y[i-1]-1

ax.plot(x,y)
plt.savefig("1d-random.png")
plt.show()

f:id:oimokihujin:20140611225750p:plain