Up

正規分布とティ分布の描画

Visual C++/CLRプログラム例

 

 正規分布とティ分布のグラフ(図1)を描くプログラムをVisual C++/CLRで作成した。

図1

 

プログラムDrawNormal_t.exeを起動すると図2のフォームが表示される。

図2

 

GO」ボタンのクリックで図1の画面が表示される。

破線による曲線の描画は、CLI配列array<Point>の要素に曲線の線分に分割したときの端点の値を設定し、破線のパターンをCLI配列array<Single>に設定した後、これらを用いて以下のように曲線を描いている。

 

         array<Point> ^ pnt1 = gcnew array<Point>(1001);

         for (int i = -500; i <= 500; i++)

                 pnt1[i + 500] = Point( xpos(i / 100.0), ypos(t_kernel(i / 100.0) * coeff_t1 / coeff) );

         array<Single> ^ dsh1 = { 8.0, 2.0 };           //              破線パターン

         pn->DashPattern = dsh1;

         g->DrawLines( pn, pnt1 );

 

上のコードでは、pnt1に曲線を構成する短い線分の端点が設定され、破線パターンがdsh1に設定されている。破線パターンは、実線の長さ、空白部の長さの繰り返しで設定される。破線パターンはペンpnDashPatternに設定されている。このペンpnと線分の端点のCLI配列pnt1を用いてGraphicsDrawLinesによって設定した破線パターンで曲線が描かれている。

 図1のティ分布のパターンを見ると、自由度df=20のティ分布は標準正規分布にかなり近い分布であることが判る。

 プログラムのソースコードなどを圧縮ファイルとしてまとめた。この圧縮ファイルDrawNormal_t.zipは、ファイル名をマウスの右ボタンでクリックしてダウンロードすることができる。ダウンロードした圧縮ファイルは、名前をマウスの右ボタンでクリックすると表示されるメニュから「解凍」あるいは「展開」などを選んで解凍することができる。解凍したファイルはVisual C++2008で開くことができる。

 

Visual C++/CLRプログラミングの解説書として<岡本安晴「大学生心理学VC++プログラミング入門勁草書房>を用意した。

 

Up