ある一般的な範囲でゼロに近い数値を生成したいと思います。たとえば、数字を時間の10%未満にしたいとしますが、15,20、または30になる可能性はわずかです。数値が高いほど、それを受け取る機会は少なくなります。ゼロに近い乱数を生成するにはどうすればよいですか?
「重み付き確率」というキーワードで何かを探してみましたが、正しい方向につながっているものは見つかりませんでした。
更新:
私はボックス・ミュラー変換(受け入れ答えを参照)を使用して終了。
const E = 2.71828183;
function getRandomCurvedValue(temp.median, temp.density) {
return this.getCurvedValue(random(0, 1), temp.median, temp.density);
}
function getCurvedValue(temp.value, temp.median, temp.density) {
return temp.median + (temp.density * log(E, (temp.value/(1 - temp.value))));
}
整数を生成していますか? http://stackoverflow.com/questions/1761626/weighted-random-numbers。 -10は有効な出力ですか? –
より具体的でなければなりません。おそらく、適切な 'pdf'を選択することによって可能になります。 – AraK
あなたの番号はどのように配布しますか?それが時間の90%未満になる唯一の要件ですか? – James