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()