Labels

高認数学過去問141 ウガンダ憲法和訳130 ガーナ憲法和訳124 AnimeManga123 アニメまんが123 ザンビア憲法和訳119 ジンバブエ憲法和訳117 ケニア憲法和訳114 高認化学過去問97 高認物理過去問93 オンライン補習塾90 ドミニカ共和国憲法和訳84 ウルグアイ憲法和訳82 Education74 タンザニア憲法和訳74 古文・漢文73 JapaneseHistory70 ナミビア憲法和訳70 日本史70 Story69 物語69 各国憲法インデックス和訳68 マラウイ憲法和訳66 コンゴ民主共和国憲法和訳59 フリーランス時代57 アンゴラ憲法和訳56 法律和訳53 モザンビーク憲法和訳52 ペルー憲法和訳51 派遣エンジニア・設備管理技術者時代51 パラグアイ憲法和訳50 南スーダン憲法和訳50 シエラレオネ憲法和訳49 ボツワナ憲法和訳48 ホンジュラス憲法和訳47 ルワンダ憲法和訳47 Blog46 メキシコ憲法和訳46 グアテマラ憲法和訳45 チリ憲法和訳45 パナマ憲法和訳43 ChineseHistory40 ギニア憲法和訳40 中国史40 ブルンジ憲法和訳39 エルサルバドル憲法和訳38 チャド憲法和訳37 中央アフリカ憲法和訳36 コンゴ共和国憲法和訳35 スーダン憲法和訳34 ニカラグア憲法和訳33 行政書士時代33 ガボン憲法和訳29 マダガスカル憲法和訳29 WebLog27 トーゴ憲法和訳27 DragonBall26 ドラゴンボール26 第二種電工数学入門講座26 Ghibli25 Gundam25 アルゼンチン憲法和訳25 ガンダム25 ジブリ25 Game22 TarotCard22 ゲーム22 セネガル憲法和訳22 タロットカード22 健康・医療22 ベナン憲法和訳20 カメルーン憲法和訳19 論文和訳19 Alternatives18 リベリア憲法和訳18 FamousPerson15 有名人15 Dai14 WorldHistory14 ダイの大冒険14 世界史14 海運会社員時代13 JapaneseRealEstateLaw12 不動産法入門講座12 NPO職員時代11 Hokuto10 RurouniKenshin10 るろうに剣心10 不動産営業時代10 北斗の拳10 学習進度10 ココナラ8 Treemapping7 ツリーマップ7 Poetry5 叡智3
Show more

ランダムウォークの軌跡を表示するプログラム。

1 ランダムウォークによる拡散をシミュレーションするプログラム。

 前回までのプログラムは、100個の粒子が一定回数のランダムウォークにより、どのように拡散するかを表現するものだった。
・ブラウン運動による拡散を、単純なランダムウォークとして考察してみる。:https://tanakah17191928.blogspot.com/2024/12/blog-post_14.html
・閉鎖容器内の拡散を、単純なランダムウォークとして考察してみる。:https://tanakah17191928.blogspot.com/2025/01/blog-post.html

今回は1個の粒子について、そのランダムウォークの軌跡を表示するプログラムを考えてみた。

2 ランダムウォークの軌跡を表示するプログラム

Option Explicit

Sub game()
    Dim i 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
    p_x = 0
    p_y = 0
    t = 1000

    For i = 1 To t
        Cells(i, 1) = p_x
        Cells(i, 2) = p_y
        c = 0
        Randomize
        c = Int(360 * Rnd + 1)
        p_x = p_x + Cos(c * pi / 180)
        p_y = p_y + Sin(c * pi / 180)
    Next i
End Sub

(1)$t=100$の場合

(2)$t=500$の場合

(3)$t=1000$の場合


3 【閉鎖容器内】ランダムウォークの軌跡を表示するプログラム

Option Explicit

Sub game()
    Dim i 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
    p_x = 0
    p_y = 0
    t = 1000

    For i = 1 To t
        Cells(i, 1) = p_x
        Cells(i, 2) = p_y
        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 i
End Sub

(1)$t=100$の場合

(2)$t=500$の場合

(3)$t=1000$の場合


4 3次元について

 ランダムウォークによる拡散も1個の粒子の軌跡も、3次元でシミュレーションするプログラムを作成することはできる。
ただ、そのデータを3次元散布図にする機能がExcelにはないみたい。
データから3次元散布図を作成するフリーソフトもあるし、適当なプログラミング言語で自作することもできそうだけれど、今はそんな気分ではないのでここまでとしたい。

・パチンコ玉と釘の確率・統計(まとめ記事)に戻る。

Popular posts from this blog

高等学校卒業程度認定試験(高認)数学過去問解説

高等学校卒業程度認定試験(高認)物理基礎過去問解説

令和7年度第1回高認数学過去問解説