【サンプルコード】ランダムウォーク
【サンプルコード】ランダムウォーク
物理・数学ノート > 熱・統計力学
■はじめに
『Brown運動とランダムウォーク』の計算で用いたサンプルコードを紹介する。
■サンプルコード
program main
implicit none
integer, parameter :: endstp = 1e5
integer :: pmx, pmy
real(8) :: x, y, stp
real(8) :: px, py
real(8) :: r2
integer :: i
!
open(100, file='out_random_walk_trj')
!
stp = 2.0d-3
x = 0.0d0
y = 0.0d0
r2 = 0.d00
!
write(100,'(i8, 6e16.6)') 0, x, y, r2
!
!======================
do i=1, endstp ! main loop
!======================
call random_number(px)
call random_number(py)
!
if(px > 0.5) then
pmx=1
else
pmx=-1
end if
!
if(py > 0.5) then
pmy=1
else
pmy=-1
end if
!
x = x+pmx*stp
y = y+pmy*stp
r2 = x**2+y**2
write(100,'(i8, 3e16.6)') i, x, y, r2
!===========
end do
!===========
end program
■説明
■参考文献
アイデミープレミアムプランで3ヶ月でAIエンジニア!
コメント