逆関数法による非一様乱数の生成とヒストグラムの作成(課題0401)

[全課題リスト|サンプルソース|完成した実行ファイル(実習室のみ)|完成したソースの例] Time-stamp: "2004/11/12 Fri 14:38 hig"

サンプルhistosample.cをビルド, 実行すると,

サンプルの個数?
10000
シード?
3098

と聞かれ, [0.0,1.0) 一様乱数を10回得て, そのサンプル平均, サンプル分散を計算し, ヒストグラムを描きます. ランダムウォークではないので注意.

0.000000******
0.100000*****
0.200000******
0.300000******
0.400000*****
0.500000*****
0.600000*****
0.700000*****
0.800000*****
0.900000******
サンプルの個数 10000
サンプル平均 0.500876
サンプル分散 0.083442
    

確率密度関数

4-16|x|( -1/4 ≤ x ≤ 1/4)
p(x)=0( それ以外 )

を考えよう(確率密度関数を変更しました. 以前のものについてすでに作業した人はそのまま進めてください).

  1. 累積分布関数 F(x)を求めよう. 講義L04 (代替) 参照.
  2. 逆関数 F-1(x)を求めよう
  3. p(x)にしたがう乱数を逆関数法で生成して, そのサンプル平均, サンプル分散を計算し, 1/20刻みのヒストグラムを描くプログラム inverse1.cを作ろう. 講義L04 (代替) 参照. サンプル数の大小, seed s が同一か異なるかで, 結果がどう変わるか答えよう.

ヒストグラムはエクセルでも作れます. ツール>分析ツール. 興味ある人は試してみよう.


Copyright © 2004 Saburo Higuchi. All rights reserved.
樋口三郎, hig mail address