閉鎖容器内の拡散を、単純なランダムウォークとして考察してみる。
1 開放空間における拡散
前回のプログラムは、開放空間における拡散だった。・ブラウン運動による拡散を、単純なランダムウォークとして考察してみる。:https://tanakah17191928.blogspot.com/2024/12/blog-post_14.html
今回は閉鎖容器内の拡散をプログラムで表現してみた。
2 【2D・閉鎖容器内】ランダムウォークによる拡散のプログラム
Option Explicit
Sub game()
Dim i As Long, j As Long
Dim p_x As Double, p_y As Double
Dim c As Integer, t As Integer
Dim pi As Double
pi = Atn(1) * 4
t = 50
For i = 1 To 100
p_x = 0
p_y = 0
For j = 1 To t
c = 0
Randomize
c = Int(360 * Rnd + 1)
p_x = p_x + Cos(c * pi / 180)
p_y = p_y + Sin(c * pi / 180)
If p_x > 20 Then
p_x = 40 - p_x
ElseIf p_x < -20 Then
p_x = -40 - p_x
End If
If p_y > 20 Then
p_y = 40 - p_y
ElseIf p_y < -20 Then
p_y = -40 - p_y
End If
Next j
Cells(i, 1) = p_x
Cells(i, 2) = p_y
Next i
End Sub
(1)$t = 50$の場合
(2)$t = 100$の場合
(3)$t = 500$の場合
(4)$t = 1000$の場合
・パチンコ玉と釘の確率・統計(まとめ記事)に戻る。



