2017-09-28 8 views
-2

あなたが入れた最小値と最大値の間のガウス数を返す関数を作成しました。ランダムサブファンクションは、0と1の間のガウス数、通常は0.5を与えます。私は数が、それは鐘JavascriptでHalf Gauss Bellが必要です

function gaussianNumber(min, max, strength) { 

function random(){ 
    var rand = 0; 
    for (var i = 0; i < strength; i++) { 
     rand += Math.random(); 
    } 
    return rand/strength; 
} 

return Math.floor(random()*(max+1-min)+min); 

}

答えて

0

これは、中心極限定理を適用するガウス乱数を生成するために合理的なアプローチであるかもしれない半分ガウスたかのように0になる傾向があることをどのような方法があるかどうかを知りたいですしかし、random()の式が間違っています。あなたが少数のサンプル

コード

を試すことができても

G(0,1) = (Sum_1^n U(0,1) - n/2)/sqrt(n/12) 

は、12とn開始を推奨:あなたは平均0とstd.dev 1のガウスN(0,1)の近似値としてG(0,1)をしたい場合は、次の式を使用する必要があります

function G(n) { 
    var rand = 0.0; 
    for (var i = 0; i != n; ++i) { 
     rand += Math.random(); 
    } 
    return (rand - 0.5*n)/Math.sqrt(n/12.0); 
} 

さらなる議論はhereです。関数の絶対値を使うだけで、この関数からガウス関数の半分を作ることができます。

minとmaxの間のガウス分布はどういう意味ですか?あなたのガウスの平均値はどこになりますか?あなたは最小から最大の間のどこにでも置くことができ、まだ技術的にはあります。

関連する問題