Help us understand the problem. What is going on with this article?

Javascriptで正規分布

More than 5 years have passed since last update.

平均付近に集中するような値の分布を「正規分布」といいます。
「ガウス分布」ともいいます。
Javascriptには一様分布させるためのMath.randomというメソッドは存在していますが、正規分布用のメソッドは用意されていません。

そこで ボックス=ミュラー法と呼ばれるアルゴリズムを用います。

一様分布に従う確率変数から標準ガウス分布に従う確率変数を生成させる手法。

だそうです。

sample code

// mean 平均
// sd 標準僅差
function normalDistribution(sd,mean){
    var x = Math.random();
    var y = Math.random();

    var z1 = Math.sqrt(-2*Math.log(x))*Math.cos(2 * Math.PI  * y);
    var z2 = Math.sqrt(-2*Math.log(x))*Math.sin(2 * Math.PI  * y);

    return {z1:sd+z1*mean,z2:sd+z2*mean};
}


kyonsi
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away