元Webデザイナー兼コーダーの備忘録

ウェブデザインやプログラミング、ブログのカスタマイズなどについてアウトプットしています。

 メニュー

» HTML入門のまとめはこちらです。

Processingにおける正規分布(ガウス分布)

The Nature of Code(PDF版)から正規分布(ガウス分布)について取り上げます。Processingでプログラムを書いて、動作を確認します。動作を確認できるところがProcessingの楽しいところです。今回は、正規分布を可視化して散らばり具合を確認します。

正規分布(ガウス分布)

正規分布とは、データが平均値の付近に集積するような分布のことです。平均の周辺にデータが多いはずという考え方です。

//ガウス分布
import java.util.Random;

Random generator;

void setup(){
  size(640, 360);
  background(255);
  generator = new Random();
}

void draw(){
  float num = (float)generator.nextGaussian();
  float sd = 60;  //標準偏差
  float mean = 320;  //平均値(ウィンドウの幅の中央)
  float x = sd * num + mean;

  noStroke();
  fill(0, 10);
  ellipse(x, 180, 16, 16);
}

上記のプログラムの意味は以下です。

ウィンドウの幅の中央(320)を平均値として、そこから±60ピクセルの範囲にデータ(ここでは楕円)がだいたい散らばります。それを図にして可視化しています。

プログラムの解説・メモ

JavaのRandomクラスから正規分布の乱数を生成(nextGaussian())します。nextGaussian()は、平均0.0、標準偏差1.0の正規分布の乱数を返します。

平均をウィンドウの幅の中央(320)、標準偏差を60(ピクセル)とします。正規分布の乱数に標準偏差を掛けて、平均値を加えます。これを楕円のx座標とします。

  • メモ
    • ellipse(楕円のx座標, 楕円のy座標, 幅, 高さ);
    • sd:standard deviation(標準偏差)
    • 標準偏差の値が小さいとき
      • 平均値の周辺にデータが集中する
    • 標準偏差の値が大きいとき
      • データは散らばる
    • mean:mean(平均値)

まとめ

The Nature of Code(PDF版)から正規分布(ガウス分布)について取り上げました。今回は、平均、標準偏差といった単語が登場しました。これらを理解するには、高校数学を学習すると良いです。引き続き、The Nature of Code(PDF版)の内容を勉強します。

参考サイト

» HTML入門のまとめはこちらです。