C/C でのランダム正規偏差の生成
正規分布に従う乱数の生成は、さまざまなアプリケーションで一般的なタスクです。 C/C では、Boost のような外部ライブラリに依存せずにこれを達成するためのアプローチがいくつかあります。
広く使用されている方法の 1 つは、Box-Muller 変換です。これは、2 つの均一に分布した乱数を 2 つの正規分布した乱数に変換します。乱数。数式は次のとおりです。
x = sqrt(-2 * ln(u1)) * cos(2 * M_PI * u2) y = sqrt(-2 * ln(u1)) * sin(2 * M_PI * u2)
ここで、u1 と u2 は [0, 1] の範囲内に一様に分散された乱数です。単一のランダムな法線偏差を生成するには、ボックス-ミュラー変換を使用してペアを生成し、一方を返し、もう一方を後で使用するために保存します。
以上がBox-Muller 変換を使用して C/C でランダムな法線偏差を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。