一様に乱数を生成しました。ここで、ガウス(正規)分布を使用して乱数を生成したいと思います。平均と標準偏差がわかりません。私はこの記事を読みました:http://www.johndcook.com/cpp_TR1_random.html#normal、しかしそれは平均と標準偏差を必要とします!Box-Muller変換が一般的に使用されていることも認識しています。これにより、正規分布の値が正しく生成されます。しかし、ここでも平均と標準偏差はわかりません。ブーストしないでください。誰か助けてもらえますか?
1 に答える
均一に分散された(セグメント内の)乱数を生成する場合、セグメントの下限とセグメントの上限の2つのパラメーターが必要です。通常、これらはそれぞれ0と1であるため、[0..1]
範囲から数値を取得します。
ここで、正規分布の数値を生成するには、平均と標準偏差の2つのパラメーターも必要です。ただし、それらの意味は異なります。平均は、生成された数値が収集される数値です。たとえば、15を指定すると、11、17、13、21、9、12、14、11などが表示されますが、(通常は)290は表示されません。または-562。そして、標準偏差(シグマ)は基本的に、生成された数値が平均からどれだけ離れるかを決定します。厳密に言えば、任意の大きさの数が生成される可能性があります。平均0とシグマを指定して1e-6
も、1000を取得する可能性がありますが、それはほとんどありません。
経験則として、生成された数値のほとんどすべてが範囲内にあり、範囲外のものはあなたの人生[mean - 3 * sigma .. mean + 3 * sigma]
で見られないに違いありません。[mean - 5 * sigma .. mean + 5 * sigma]
「標準」正規分布の概念があります。平均=0、シグマ= 1です。これは、ほとんどが[-3..3]
範囲内の数値を取得することを意味します。
私はそれがいくらか役立つことを願っています!