ASCENT-zouho2022
23/32

ランダムウォークとグラフ作成の例 太陽内部で光子は電子によって何回も散乱されるため、なかなか表面に出てくることができません。このような現象のモデルとして、ある距離進むごとに進行方向がランダムに変わる運動を追跡してみます。 このプログラムではグラフ表示のために matplotlib というライブラリを呼び出しています。plt.plot(x,y)により、リストx,y に記憶された点を線で結んで表示してくれます。(xi,yi)(xi-1,yi-1)θyOX xi = xi-1 + cosθ yi = yi-1 + sinθ1000歩進んでも、出発点からあまり遠くには行けないんだねimport matplotlib.pyplot as pltimport numpy as np n=1000 x=np.zeros(n) y=np.zeros(n) seed=int(input('random seed :')) np.random.seed(seed) for i in range(1,n): theta=2.0*np.pi*np.random.rand() x[i]=x[i-1]+np.cos(theta) y[i]=y[i-1]+np.sin(theta) plt.plot(x,y) plt.title('random walk') plt.xlabel('x') plt.ylabel('y')•原点(0,0)から出発してランダムな方向に1mずつ移動。•考え方:次の1歩がx軸となす角度θを乱数にする。23

元のページ  ../index.html#23

このブックを見る