Math.random()*50 + Math.random()*20 の分布は、Math.random()*70 とどのように比較されますか?

ジェイソン

配布方法:

var randomNumber = Math.random()*50 + Math.random()*20;

以下のものと比較してください:

var randomNumber = Math.random()*70;
ブラインドマン67

1 つ目は 70/2 に近い値でフラットな分布を生成しませんが、2 つ目は均一な分布を生成します。

簡単に調べる方法は、値をサンプリングしてグラフ化することです。

楽しみのためにゆっくりとサンプリングしました。

const ctx = canvas.getContext("2d");
const a1 = new Float64Array(70);
const a2 = new Float64Array(70);
var total = 0;
function doSamples(samples){
    for(var i = 0; i < samples; i ++){
        var n1 = Math.random() * 50 + Math.random() * 20;
        var n2 = Math.random() * 70;
        a1[n1 | 0] += 1;
        a2[n2 | 0] += 1;
    }
    var max = 0;
    for(i = 0; i < 70; i ++){
        max = Math.max(max,a1[i],a2[i]);
    }
    ctx.clearRect(0,0,canvas.width,canvas.height);
    for(i = 0; i < 70; i ++){
        var l1 = (a1[i] / max) * canvas.height;
        var l2 = (a2[i] / max) * canvas.height;
        ctx.fillStyle = "Blue";
        ctx.fillRect(i * 8,canvas.height - l1,4,l1)
        ctx.fillStyle = "Orange";
        ctx.fillRect(i * 8 + 4,canvas.height - l2,4,l2)
        
    }
    total += samples;
    count.textContent = total;
}
function doit(){
    doSamples(500);
    setTimeout(doit,100);
}
doit();
canvas {border:2px solid black;}
<canvas id="canvas" width = 560 height =  200></canvas><br>
Orange is random() * 70<br>
Blue is random() * 50 + random() * 20<br>
Graph is normalised.
<span id="count"></span> samples.

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

if(math.random == 50)の使い方は?

分類Dev

Math.random()の説明

分類Dev

Java Math.random()の懸念

分類Dev

Math.random()とRandom.nextInt(int)の比較

分類Dev

Math.random()=== Math.random()は可能ですか?

分類Dev

JavaのMath.random()、これはどのように可能ですか?

分類Dev

Luaのmath.random()とmath.randomseed()の違い

分類Dev

Math.random()はJavaでどのように正確に機能しますか?

分類Dev

Math.random()は暗号的に安全ですか?

分類Dev

Math.randomの範囲を50〜5000の間で取得

分類Dev

ExpoでのMath.random()の構成

分類Dev

停止 rnd = Math.floor(Math.random() * 3) + 1;

分類Dev

Javascript-forループ内のMath.random

分類Dev

Math.random固有の値coronasdk

分類Dev

このメソッドはMath.random()より高速ですか?

分類Dev

Math.random()* i |とは 0はどういう意味ですか?

分類Dev

javascriptのMath.randomから一意の番号を取得するにはどうすればよいですか?

分類Dev

JS:Math.random()の使用中に値の範囲を除外するにはどうすればよいですか?

分類Dev

161803398は「特別な」番号ですか?Math.Random()の内部

分類Dev

Math.floor(Math.random())関数が常に「0」を返すのはなぜですか?

分類Dev

Java Math.random期間

分類Dev

Math.random範囲が負

分類Dev

Proxypac - Loadbalancing with "if(Math.random() < 0.5)"

分類Dev

Math.random シナリオ

分類Dev

Math.randomの結果を予測するにはどうすればよいですか?

分類Dev

配列に関するMath.random

分類Dev

javascriptでmath.randomの結果を繰り返す方法は?

分類Dev

Java VS Matlab:Math.random()およびrand

分類Dev

Javascript Math.random()と条件式

Related 関連記事

  1. 1

    if(math.random == 50)の使い方は?

  2. 2

    Math.random()の説明

  3. 3

    Java Math.random()の懸念

  4. 4

    Math.random()とRandom.nextInt(int)の比較

  5. 5

    Math.random()=== Math.random()は可能ですか?

  6. 6

    JavaのMath.random()、これはどのように可能ですか?

  7. 7

    Luaのmath.random()とmath.randomseed()の違い

  8. 8

    Math.random()はJavaでどのように正確に機能しますか?

  9. 9

    Math.random()は暗号的に安全ですか?

  10. 10

    Math.randomの範囲を50〜5000の間で取得

  11. 11

    ExpoでのMath.random()の構成

  12. 12

    停止 rnd = Math.floor(Math.random() * 3) + 1;

  13. 13

    Javascript-forループ内のMath.random

  14. 14

    Math.random固有の値coronasdk

  15. 15

    このメソッドはMath.random()より高速ですか?

  16. 16

    Math.random()* i |とは 0はどういう意味ですか?

  17. 17

    javascriptのMath.randomから一意の番号を取得するにはどうすればよいですか?

  18. 18

    JS:Math.random()の使用中に値の範囲を除外するにはどうすればよいですか?

  19. 19

    161803398は「特別な」番号ですか?Math.Random()の内部

  20. 20

    Math.floor(Math.random())関数が常に「0」を返すのはなぜですか?

  21. 21

    Java Math.random期間

  22. 22

    Math.random範囲が負

  23. 23

    Proxypac - Loadbalancing with "if(Math.random() < 0.5)"

  24. 24

    Math.random シナリオ

  25. 25

    Math.randomの結果を予測するにはどうすればよいですか?

  26. 26

    配列に関するMath.random

  27. 27

    javascriptでmath.randomの結果を繰り返す方法は?

  28. 28

    Java VS Matlab:Math.random()およびrand

  29. 29

    Javascript Math.random()と条件式

ホットタグ

アーカイブ