ASCENT2023-denshi
22/32

第2部モンテカルロ0422 5 2 6 4 3乱数とシミュレーション 計算機の中でサイコロを振ることに相当するのが乱数です。ある規則に基づいて数を生成しますので、厳密な意味では乱数とは言えず、擬似乱数と言います。たとえば、整数にある数を掛けて、別の整数で割った余りを次の数とします。 5×123 ÷ 64 = 9…39 39×123 ÷ 64 = 74…6161×123 ÷ 64 =117…15 15×123 ÷ 64 = 28…5339, 61, 15, 53 … 余りは0から63の範囲の整数になります。これを乱数とみなします。数値計算ライブラリnumpyを用いた乱数生成np.random.rand() 0.0以上、1.0未満の一様乱数を生成np.random.randint(a,b) aからb-1 の範囲の整数を生成 #1から6までの乱数を5個生成 # まとめて10個生成して平均を求める import numpy as np import numpy as np n=10 n=5 saikoro=np.random.randint(1,7,n) for i in range(n): print(saikoro) print(np.random.randint(1,7)) print(np.mean(saikoro)) 実行結果 実行結果 [5 6 6 1 2 6 1 1 4 2] 3.4 計算機を用いて、でたらめな数(乱数)を発生させ、確率的に起こる現象をシミュレートする方法(モンテカルロ法)を紹介します。三角関数の計算等に用いる数値計算ライブラリや、グラフの表示方法についても説明します。シミュレーション

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

このブックを見る