【サンプルコード】ランダムウォーク

【サンプルコード】ランダムウォーク

物理・数学ノート > 熱・統計力学


■はじめに

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エンジニア!

コメント

人気の投稿