SlideShare a Scribd company logo
提出日:2014年 7 月18 日
課題 2(公開用)
T2C_(Twitter : @T2C_)
1
■課題内容
合成関数の確率密度を持つ乱数を生成し、ヒストグラムを作成し、また理論値との比較を行う。
■合成法
○計算内容・概要
一様分布乱数から合成関数の確率密度を持つ乱数を生成する。
n 個の確率密度 hi(x)の合成関数 f(x)の標準系は
f(x) = ∑ βi hi(x)
𝑛
𝑖=1
, (𝑎 ≤ x ≤ b), βi ∶ 合成比率。また βi ≥ 0
また
∫ ℎ𝑖(𝑥)𝑑𝑥
𝑏
a
= 1 , ∑ βi
𝑛
𝑖=1
= 1
を満たす。
この標準系を基に確率密度 hk(x)で x を生成する。
(1) a=0 , b =1 とし、区間(a , b)で一様乱数ξ1、ξ2 を生成する
(2) ξ1 により k を決める。
(3)
β0 = 0 として ∑ βi
𝑘−1
𝑖=0
< ξ1 < ∑ βi
𝑘
𝑖=0
(1 ≤ k ≤ n) である。
(4) ξ2 により確率密度 hk(x)に従って x を生成する。
これを利用して
例 1. f(x) =
3
5
(1 + 𝑥 +
1
2
𝑥2
) , (0 < x < 1)
例 2. f(x) =
1
4
(
1
√ 𝑥
+
1
√1 − 𝑥
) , (0 < x < 1)
2
の密度を持つ確率変数 x を生成する。
まず標準系への変換を施し、
例 1.f(x) =
3
5
× 1 +
3
5
×
1
2
× 2𝑥 +
3
5
×
1
2
×
1
3
× 3𝑥2
∴ β1 =
3
5
, β2 =
3
10
, β3 =
1
10
また h1(x) = 1 , h2(x) = 2𝑥 , h1(x) = 3𝑥2
これより以下の手順で生成する。
① ξ1 を発生
② ξ1 ≦
3
5
であればξ2 を発生し x とする
③
3
5
< ξ1 ≦
9
10
であればξ2、ξ3 を発生しその最大の値を x とする
④ ξ1 >
9
10
であればξ2、ξ3、ξ4 を発生しその最大の値を x とする
しかしこれはプログラミング上効率化が出来るので、
① ξ1 を発生、またもう一つ生成した乱数を x とする
② ξ1 <
3
5
でなければ再び乱数を発生し元の x と比較して大きい方を x とする
③ ξ1 <
9
10
でなければ再び乱数を発生し元の x と比較して大きい方を x とする
とする。
例 2.f(x) =
1
2
×
1
2√ 𝑥
+
1
2
×
1
2√1 − 𝑥
∴ β1 =
1
2
, β2 =
1
2
また h1(x) =
1
2√ 𝑥
, h2(x) =
1
2√1 − 𝑥
また H1(X) = ∫ ℎ1(𝑥)𝑑𝑥
𝑥
0
= √ 𝑥 , H2(X) = ∫ ℎ2(𝑥)𝑑𝑥
𝑥
0
= 1 − √1 − 𝑥
これより以下の手順で生成する。
① ξ1 を発生し 2 乗にしたものを x とする
② ξ2 を発生し
1
2
以上であれば x = 1 - x とする
以上を踏まえて VBA(Excel2010 上)でプログラミングを行った。
3
――――― 以下 ソースコード ―――――
Const beta1 As Double = 3 / 5, _
beta2 As Double = 9 / 10, _
beta3 As Double = 1 / 2
Function Rei1() As Double
Dim xi As Double
Randomize
xi = Rnd()
Rei1 = Rnd()
If (xi < beta1) Then
Else
Rei1 = max(Rei1, Rnd())
End If
If (xi < beta2) Then
Else
Rei1 = max(Rei1, Rnd())
End If
End Function
4
Function Rei2() As Double
Randomize
Rei2 = (Rnd()) ^ 2
If (Rnd() > beta3) Then
Rei2 = 1 - Rei2
End If
End Function
Function max(a As Double, b As Double) As Double
If (a > b) Then
max = a
Else
max = b
End If
End Function
Function F(ex As Integer, x1 As Double, x2 As Double)
If ex = 1 Then
F = 3 / 5 * ((x2 + 1 / 2 * x2 * x2 + 1 / 6 * x2 * x2 * x2) _
- (x1 + 1 / 2 * x1 * x1 + 1 / 6 * x1 * x1 * x1))
ElseIf ex = 2 Then
F = -1 / 2 * ((Sqr(1 - x2) - Sqr(x2)) - (Sqr(1 - x1) - Sqr(x1)))
End If
5
End Function
Function histogramming()
Dim N As Long, Nbin As Integer, Nbin1 As Integer, _
NRnd As Long, i As Integer, ex As Integer
Dim a As Double, b As Double, dx As Double, _
x As Double, x2 As Double, y As Double
With Sheet1
.Cells(4, 11) = InputBox("例題番号を入力してください(1 or 2)", "例題番号の決定")
.Cells(4, 12) = InputBox("Nbin 数を入力してください。(30-50)", "Nbin の決定")
.Cells(4, 13) = InputBox("発生する乱数の個数を入力してください。型:Long", "乱数の個数の決定")
ex = .Cells(4, 11)
Nbin = .Cells(4, 12)
Nbin1 = Nbin + 1
NRnd = .Cells(4, 13)
a = 0#
b = 1#
Dim H(0 To 51) As Long
For i = 0 To Nbin1
H(i) = 0
Next i
dx = (b - a) / Nbin
For N = 1 To NRnd
If ex = 1 Then
x1 = Rei1()
ElseIf ex = 2 Then
x1 = Rei2()
End If
6
x2 = x1 - a '3 つの乱数の最大値 0~1
i = Int(x2 / dx) + 1 '(x * Nbin) + 1 ->添字
If (i < 0) Then
i = 0
End If
If (i > Nbin) Then
i = Nbin1
End If
H(i) = H(i) + 1
Next N
For i = 1 To Nbin
x = a + (i - 0.5) * dx ' / Nbin
y = H(i) / (NRnd * dx)
.Cells(i + 3, 2) = x
.Cells(i + 3, 3) = y
Next i
End With
End Function
Sub Analytic()
Dim N As Long, Nbin As Integer, Nbin1 As Integer, _
i As Integer, a As Integer, b As Integer, ex As Integer
Dim dx As Double, H As Double, _
x As Double, x1 As Double, x2 As Double
7
With Sheet1
.Cells(4, 11) = InputBox("例題番号を入力してください(1 or 2)", "例題番号の決定")
.Cells(4, 12) = InputBox("Nbin 数を入力してください。(30-50)", "Nbin の決定")
.Cells(4, 13) = InputBox("発生する乱数の個数を入力してください。型:Long", "乱数の個数の決定")
ex = .Cells(4, 11)
Nbin = .Cells(4, 12)
Nbin1 = Nbin + 1
NRnd = .Cells(4, 13)
a = 0
b = 1
dx = (b - a) / Nbin
For i = 1 To Nbin
x1 = a + (i - 1) * dx
x2 = x1 + dx
x = (x1 + x2) / 2
H = F(ex, x1, x2) / dx
.Cells(i + 3, 4) = x
.Cells(i + 3, 5) = H
Next i
End With
End Sub
Sub clear()
With Sheet1
Range(.Cells(4, 2), Cells(100, 5)).clear
End With
End Sub
8
――――― ソースコード 終わり ―――――
○実行結果
例 1、例 2 のいずれもビンの数は 50 個、乱数の個数は 50 万個で行った。
実行結果とそのグラフは以下の様になった。
x Histogram X Theoritical Value
0.01 0.7152 0.01 0.60604
0.03 0.6728 0.03 0.61828
0.05 0.5958 0.05 0.63076
0.07 0.6875 0.07 0.64348
0.09 0.6543 0.09 0.65644
0.11 0.7266 0.11 0.66964
0.13 0.6355 0.13 0.68308
0.15 0.5861 0.15 0.69676
0.17 0.6384 0.17 0.71068
0.19 0.5642 0.19 0.72484
0.21 0.8228 0.21 0.73924
0.23 0.8703 0.23 0.75388
0.25 0.7671 0.25 0.76876
0.27 0.7129 0.27 0.78388
0.29 0.8393 0.29 0.79924
0.31 0.9365 0.31 0.81484
0.33 0.9266 0.33 0.83068
0.35 0.8699 0.35 0.84676
0.37 0.9245 0.37 0.86308
0.39 0.7719 0.39 0.87964
0.41 0.9901 0.41 0.89644
0.43 0.7176 0.43 0.91348
0.45 1.0522 0.45 0.93076
0.47 0.8322 0.47 0.94828
0.49 0.8968 0.49 0.96604
0.51 1.0948 0.51 0.98404
0.53 1.0348 0.53 1.00228
0.55 1.0004 0.55 1.02076
0.57 1.0629 0.57 1.03948
0.59 1.0859 0.59 1.05844
0.61 1.0651 0.61 1.07764
0.63 0.9816 0.63 1.09708
0.65 1.1712 0.65 1.11676
0.67 1.3133 0.67 1.13668
0.69 1.1663 0.69 1.15684
0.71 1.2546 0.71 1.17724
0.73 1.2766 0.73 1.19788
0.75 1.2152 0.75 1.21876
0.77 1.1574 0.77 1.23988
0.79 1.249 0.79 1.26124
0.81 1.2604 0.81 1.28284
0.83 1.1411 0.83 1.30468
0.85 1.2497 0.85 1.32676
0.87 1.4273 0.87 1.34908
0.89 1.2282 0.89 1.37164
0.91 1.3643 0.91 1.39444
0.93 1.4689 0.93 1.41748
0.95 1.3478 0.95 1.44076
0.97 1.4289 0.97 1.46428
0.99 1.5472 0.99 1.48804
x Histogram X Theoritical Value
0.01 3.8108 0.01 3.786796564
0.03 1.7192 0.03 1.718306008
0.05 1.368 0.05 1.380222498
0.07 1.1645 0.07 1.206585125
0.09 1.1282 0.09 1.096701504
0.11 1.0232 0.11 1.01956354
0.13 1.0023 0.13 0.961921989
0.15 0.918 0.15 0.917024297
0.17 0.8887 0.17 0.881017347
0.19 0.8458 0.19 0.85152124
0.21 0.8462 0.21 0.826977121
0.23 0.8057 0.23 0.806316762
0.25 0.7912 0.25 0.78878162
0.27 0.7501 0.27 0.773817503
0.29 0.7438 0.29 0.761010155
0.31 0.7587 0.31 0.750044221
0.33 0.7434 0.33 0.74067623
0.35 0.7719 0.35 0.732716274
0.37 0.7054 0.37 0.726015322
0.39 0.7028 0.39 0.720456247
0.41 0.6919 0.41 0.715947412
0.43 0.7267 0.43 0.712418037
0.45 0.7262 0.45 0.709814869
0.47 0.6879 0.47 0.708099811
0.49 0.6833 0.49 0.707248302
0.51 0.7262 0.51 0.707248302
0.53 0.7131 0.53 0.708099811
0.55 0.6952 0.55 0.709814869
0.57 0.6936 0.57 0.712418037
0.59 0.7342 0.59 0.715947412
0.61 0.7449 0.61 0.720456247
0.63 0.6946 0.63 0.726015322
0.65 0.7427 0.65 0.732716274
0.67 0.7314 0.67 0.74067623
0.69 0.7591 0.69 0.750044221
0.71 0.7435 0.71 0.761010155
0.73 0.8042 0.73 0.773817503
0.75 0.7761 0.75 0.78878162
0.77 0.7885 0.77 0.806316762
0.79 0.8547 0.79 0.826977121
0.81 0.8377 0.81 0.85152124
0.83 0.9191 0.83 0.881017347
0.85 0.905 0.85 0.917024297
0.87 0.9055 0.87 0.961921989
0.89 1.0345 0.89 1.01956354
0.91 1.0666 0.91 1.096701504
0.93 1.2394 0.93 1.206585125
0.95 1.4225 0.95 1.380222498
0.97 1.6871 0.97 1.718306008
0.99 3.7767 0.99 3.786796564
9
表 1 例 1 の実行結果 表 2 例 2 の実行結果
図 1 例 1 の実行結果のグラフ化
図 2 例 2 の実行結果のグラフ化
10
■考察
今回は合成関数の確率密度を持つ確率変数を生成してヒストグラムを出力するプログラムを作り、
生成されたヒストグラムと確率密度関数のグラフを同じグラフに可視化して一致することを確認した。
まず例 2 は数回行っても比較的に理論値とは相違が少なかったのに対し、
例 1 の方は回毎にバラつきが大きかったことについて考察する。
これはβの値による相違、つまり元の関数の係数や値による違いによるものであると考えられる。
今回の場合であれば β1 =
3
5
, β2 =
3
10
, β3 =
1
10
であったが、それぞれと(効率化もして)
比較を行い乱数を数個生成した為、よりランダム性が高まったのではないだろうか。
一方例 2 の方では乱数を一つ生成し 2 乗し次の乱数によって足して 1 となる数と入れ替えを行うのみで
あった為、バラつきは少なかったと考えられる。
或いはβの個数による違いであるかもしれないとも考えられるだろう。
また試しに例 1 を乱数は 50 万個で同じまま 500 ビンで行ってみると、
図 3 ビン数 500 の例 1
このように非常に理論値とのズレが顕著となった。
この状態で乱数生成数を 500 万個にすると、
図 4 ビン数 500 乱数 500 万個の例 1
と、当然なだらかにはなるもののそれでも大きくズレる。
0
0.5
1
1.5
2
2.5
0.001
0.085
0.169
0.253
0.337
0.421
0.505
0.589
0.673
0.757
0.841
0.925
Histogram
Theoritical Value
0
0.5
1
1.5
2
0.001
0.079
0.157
0.235
0.313
0.391
0.469
0.547
0.625
0.703
0.781
0.859
0.937
Histogram
Theoritical Value
11
この事からビン数の決定もプロットの上で大きな役割を果たしている事が見て取れるだろう。
速度は 3.4GHz 4 コアの PC 上で、例 1 乱数 50 万個でコンマ秒、500 万個で数秒、
それから 5000 万個で 30 秒ほどであった。
■課題・今後の展望
○別の合成関数(βが多くなるものや条件が面白いもの)との比較
○応用方法の検討
今回において合成関数の確率分布を持つ乱数生成法を習得したので、
その応用方法も考えてみるべきと感じた。
しかし不勉強からか日常においてあまり触れる機会が無かった為直感的に浮かばなかったので
書籍などを参照した上で考えると良いだろう。
■結び
様々な乱数を生成出来れば、それぞれ恐らく使い道が多岐に渡り、
またこれから始まる研究にも応用が利く事は想像に易いので、
自らの糧としてゆきたいとする想いを以て本レポートの結びとする。

More Related Content

What's hot

ガウス積分の問題
ガウス積分の問題ガウス積分の問題
ガウス積分の問題
nabeshimamasataka
 
Androidで画像処理リベンジ
Androidで画像処理リベンジAndroidで画像処理リベンジ
Androidで画像処理リベンジDaisuke Takai
 
ガウス積分
ガウス積分ガウス積分
ガウス積分
nabeshimamasataka
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
Yoshihiro Mizoguchi
 
線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル
貴之 八木
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
Junpei Tsuji
 
素数の分解法則(フロベニウスやばい) #math_cafe
素数の分解法則(フロベニウスやばい) #math_cafe 素数の分解法則(フロベニウスやばい) #math_cafe
素数の分解法則(フロベニウスやばい) #math_cafe
Junpei Tsuji
 
FNA provime pranuese teste
FNA provime pranuese testeFNA provime pranuese teste
FNA provime pranuese teste
Arton Feta
 
コードを書けば複素数がわかる
コードを書けば複素数がわかるコードを書けば複素数がわかる
コードを書けば複素数がわかる
Taketo Sano
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト
Keigo Nitadori
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数Taketo Sano
 
Master Thesis
Master ThesisMaster Thesis
Master Thesis
Toshiyuki Shimono
 
x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論
Junpei Tsuji
 
はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半
Prunus 1350
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
Chika Inoshita
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化Miyoshi Yuya
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムMiyoshi Yuya
 

What's hot (20)

ガウス積分の問題
ガウス積分の問題ガウス積分の問題
ガウス積分の問題
 
Androidで画像処理リベンジ
Androidで画像処理リベンジAndroidで画像処理リベンジ
Androidで画像処理リベンジ
 
ガウス積分
ガウス積分ガウス積分
ガウス積分
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
複素数・四元数と図形の回転
複素数・四元数と図形の回転複素数・四元数と図形の回転
複素数・四元数と図形の回転
 
線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル
 
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
ゼータへ続く素数の階段物語 第13回 数学カフェ「素数!!」
 
素数の分解法則(フロベニウスやばい) #math_cafe
素数の分解法則(フロベニウスやばい) #math_cafe 素数の分解法則(フロベニウスやばい) #math_cafe
素数の分解法則(フロベニウスやばい) #math_cafe
 
FNA provime pranuese teste
FNA provime pranuese testeFNA provime pranuese teste
FNA provime pranuese teste
 
コードを書けば複素数がわかる
コードを書けば複素数がわかるコードを書けば複素数がわかる
コードを書けば複素数がわかる
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト上三角 Pascal 行列による多項式のシフト
上三角 Pascal 行列による多項式のシフト
 
虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数虚数は作れる!Swift で学ぶ複素数
虚数は作れる!Swift で学ぶ複素数
 
Master Thesis
Master ThesisMaster Thesis
Master Thesis
 
x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論x^2+ny^2の形で表せる素数の法則と類体論
x^2+ny^2の形で表せる素数の法則と類体論
 
線形計画法入門
線形計画法入門線形計画法入門
線形計画法入門
 
はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半はじめてのパターン認識 第6章 後半
はじめてのパターン認識 第6章 後半
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化パターン認識第9章 学習ベクトル量子化
パターン認識第9章 学習ベクトル量子化
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
 

Viewers also liked

Shuttle Weather Criteria
Shuttle Weather CriteriaShuttle Weather Criteria
Shuttle Weather Criteria
NASA Kennedy
 
Prak9-Bandwith Limiter
Prak9-Bandwith LimiterPrak9-Bandwith Limiter
Prak9-Bandwith Limiter
Putra Wanda
 
Inspire at Leisure and Fitness Exchange June 2011
Inspire at Leisure and Fitness Exchange June 2011Inspire at Leisure and Fitness Exchange June 2011
Inspire at Leisure and Fitness Exchange June 2011Denise Hampson
 
TEVIZZ - Football PSG-RSCA / Social TV Analytics
TEVIZZ - Football PSG-RSCA / Social TV AnalyticsTEVIZZ - Football PSG-RSCA / Social TV Analytics
TEVIZZ - Football PSG-RSCA / Social TV AnalyticsTevizz
 
biolock Presentation
biolock Presentationbiolock Presentation
biolock Presentation
tneudenb
 
Presentation1
Presentation1Presentation1
Presentation1rduncan4
 
Propriedade e internet
Propriedade e internetPropriedade e internet
Propriedade e internet
Guido Cavalcanti
 
B'ieg0984sort
B'ieg0984sortB'ieg0984sort
B'ieg0984sortGWROY
 
App elogold Brasil
App elogold BrasilApp elogold Brasil
App elogold Brasil
Jefferson Silva Brasil
 
Aula 1 dr. argos - 04-09-2013
Aula 1   dr. argos - 04-09-2013Aula 1   dr. argos - 04-09-2013
Aula 1 dr. argos - 04-09-2013Fernanda Moreira
 

Viewers also liked (19)

Shuttle Weather Criteria
Shuttle Weather CriteriaShuttle Weather Criteria
Shuttle Weather Criteria
 
Prak9-Bandwith Limiter
Prak9-Bandwith LimiterPrak9-Bandwith Limiter
Prak9-Bandwith Limiter
 
Inspire at Leisure and Fitness Exchange June 2011
Inspire at Leisure and Fitness Exchange June 2011Inspire at Leisure and Fitness Exchange June 2011
Inspire at Leisure and Fitness Exchange June 2011
 
Presentación ii curso icld fundación cede - edición repsol (11 al 16 de novie...
Presentación ii curso icld fundación cede - edición repsol (11 al 16 de novie...Presentación ii curso icld fundación cede - edición repsol (11 al 16 de novie...
Presentación ii curso icld fundación cede - edición repsol (11 al 16 de novie...
 
TEVIZZ - Football PSG-RSCA / Social TV Analytics
TEVIZZ - Football PSG-RSCA / Social TV AnalyticsTEVIZZ - Football PSG-RSCA / Social TV Analytics
TEVIZZ - Football PSG-RSCA / Social TV Analytics
 
biolock Presentation
biolock Presentationbiolock Presentation
biolock Presentation
 
Documento
DocumentoDocumento
Documento
 
Universidad de cuenca
Universidad de cuencaUniversidad de cuenca
Universidad de cuenca
 
Dengue
DengueDengue
Dengue
 
Presentation1
Presentation1Presentation1
Presentation1
 
Test
TestTest
Test
 
Prova
ProvaProva
Prova
 
Propriedade e internet
Propriedade e internetPropriedade e internet
Propriedade e internet
 
Paso 4
Paso 4Paso 4
Paso 4
 
20130603123113
2013060312311320130603123113
20130603123113
 
B'ieg0984sort
B'ieg0984sortB'ieg0984sort
B'ieg0984sort
 
App elogold Brasil
App elogold BrasilApp elogold Brasil
App elogold Brasil
 
परवरदिगार
परवरदिगारपरवरदिगार
परवरदिगार
 
Aula 1 dr. argos - 04-09-2013
Aula 1   dr. argos - 04-09-2013Aula 1   dr. argos - 04-09-2013
Aula 1 dr. argos - 04-09-2013
 

Similar to Simulation_assignment2

【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
 
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
KazuhiroSato8
 
回帰
回帰回帰
回帰
Shin Asakawa
 
極限の問題
極限の問題極限の問題
極限の問題
nabeshimamasataka
 
050 確率と確率分布
050 確率と確率分布050 確率と確率分布
050 確率と確率分布t2tarumi
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
kenyanonaka
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
hirokazutanaka
 
一般化線形混合モデル isseing333
一般化線形混合モデル isseing333一般化線形混合モデル isseing333
一般化線形混合モデル isseing333Issei Kurahashi
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
Takeshi Sakaki
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
Tatsuki SHIMIZU
 
K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201t2tarumi
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
matsumoring
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
Masahiro Sakai
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
YosukeAkasaka
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
MITSUNARI Shigeo
 
PRML 10.4 - 10.6
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6
Akira Miyazawa
 
Rでシステムバイオロジー
RでシステムバイオロジーRでシステムバイオロジー
Rでシステムバイオロジー弘毅 露崎
 
離散構造と離散分布
離散構造と離散分布離散構造と離散分布
離散構造と離散分布
Masakazu Ishihata
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装
j_rocket_boy
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへNaoki Kitora
 

Similar to Simulation_assignment2 (20)

【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
 
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
 
回帰
回帰回帰
回帰
 
極限の問題
極限の問題極限の問題
極限の問題
 
050 確率と確率分布
050 確率と確率分布050 確率と確率分布
050 確率と確率分布
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
一般化線形混合モデル isseing333
一般化線形混合モデル isseing333一般化線形混合モデル isseing333
一般化線形混合モデル isseing333
 
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.42013.12.26 prml勉強会 線形回帰モデル3.2~3.4
2013.12.26 prml勉強会 線形回帰モデル3.2~3.4
 
代数トポロジー入門
代数トポロジー入門代数トポロジー入門
代数トポロジー入門
 
K010 appstat201201
K010 appstat201201K010 appstat201201
K010 appstat201201
 
20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算20170327_レムニスケートにまつわる色々な計算
20170327_レムニスケートにまつわる色々な計算
 
代数的実数とCADの実装紹介
代数的実数とCADの実装紹介代数的実数とCADの実装紹介
代数的実数とCADの実装紹介
 
ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章ベイズ推論による機械学習入門 第4章
ベイズ推論による機械学習入門 第4章
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
PRML 10.4 - 10.6
PRML 10.4 - 10.6PRML 10.4 - 10.6
PRML 10.4 - 10.6
 
Rでシステムバイオロジー
RでシステムバイオロジーRでシステムバイオロジー
Rでシステムバイオロジー
 
離散構造と離散分布
離散構造と離散分布離散構造と離散分布
離散構造と離散分布
 
球面フィッティングの導出と実装
球面フィッティングの導出と実装球面フィッティングの導出と実装
球面フィッティングの導出と実装
 
命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ命令プログラミングから関数プログラミングへ
命令プログラミングから関数プログラミングへ
 

More from T2C_

Back propagation
Back propagationBack propagation
Back propagation
T2C_
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロン
T2C_
 
インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料
T2C_
 
インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)
T2C_
 
Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?
T2C_
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!
T2C_
 
就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2
T2C_
 
就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1
T2C_
 
Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2
T2C_
 
Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1
T2C_
 
Simulation_assignment9
Simulation_assignment9Simulation_assignment9
Simulation_assignment9
T2C_
 
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1
T2C_
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン
T2C_
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublic
T2C_
 

More from T2C_ (14)

Back propagation
Back propagationBack propagation
Back propagation
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロン
 
インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料インターンシップ成果報告会 発表資料
インターンシップ成果報告会 発表資料
 
インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)インターンシップ成果報告(修正前)
インターンシップ成果報告(修正前)
 
Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?Should Japanese Education Be Vocational Training School?
Should Japanese Education Be Vocational Training School?
 
Hello deeplearning!
Hello deeplearning!Hello deeplearning!
Hello deeplearning!
 
就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2就活活動ゼミ プレゼンテーション2
就活活動ゼミ プレゼンテーション2
 
就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1就職活動ゼミ プレゼンテーション1
就職活動ゼミ プレゼンテーション1
 
Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2Parallel Computation Foundation's assignment 2
Parallel Computation Foundation's assignment 2
 
Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1Parallel Computation Foundation's assignment 1
Parallel Computation Foundation's assignment 1
 
Simulation_assignment9
Simulation_assignment9Simulation_assignment9
Simulation_assignment9
 
Simulation_Report1
Simulation_Report1Simulation_Report1
Simulation_Report1
 
論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン論文読解:クイズ王ワトソン
論文読解:クイズ王ワトソン
 
Spmv9forpublic
Spmv9forpublicSpmv9forpublic
Spmv9forpublic
 

Simulation_assignment2

  • 1. 提出日:2014年 7 月18 日 課題 2(公開用) T2C_(Twitter : @T2C_)
  • 2. 1 ■課題内容 合成関数の確率密度を持つ乱数を生成し、ヒストグラムを作成し、また理論値との比較を行う。 ■合成法 ○計算内容・概要 一様分布乱数から合成関数の確率密度を持つ乱数を生成する。 n 個の確率密度 hi(x)の合成関数 f(x)の標準系は f(x) = ∑ βi hi(x) 𝑛 𝑖=1 , (𝑎 ≤ x ≤ b), βi ∶ 合成比率。また βi ≥ 0 また ∫ ℎ𝑖(𝑥)𝑑𝑥 𝑏 a = 1 , ∑ βi 𝑛 𝑖=1 = 1 を満たす。 この標準系を基に確率密度 hk(x)で x を生成する。 (1) a=0 , b =1 とし、区間(a , b)で一様乱数ξ1、ξ2 を生成する (2) ξ1 により k を決める。 (3) β0 = 0 として ∑ βi 𝑘−1 𝑖=0 < ξ1 < ∑ βi 𝑘 𝑖=0 (1 ≤ k ≤ n) である。 (4) ξ2 により確率密度 hk(x)に従って x を生成する。 これを利用して 例 1. f(x) = 3 5 (1 + 𝑥 + 1 2 𝑥2 ) , (0 < x < 1) 例 2. f(x) = 1 4 ( 1 √ 𝑥 + 1 √1 − 𝑥 ) , (0 < x < 1)
  • 3. 2 の密度を持つ確率変数 x を生成する。 まず標準系への変換を施し、 例 1.f(x) = 3 5 × 1 + 3 5 × 1 2 × 2𝑥 + 3 5 × 1 2 × 1 3 × 3𝑥2 ∴ β1 = 3 5 , β2 = 3 10 , β3 = 1 10 また h1(x) = 1 , h2(x) = 2𝑥 , h1(x) = 3𝑥2 これより以下の手順で生成する。 ① ξ1 を発生 ② ξ1 ≦ 3 5 であればξ2 を発生し x とする ③ 3 5 < ξ1 ≦ 9 10 であればξ2、ξ3 を発生しその最大の値を x とする ④ ξ1 > 9 10 であればξ2、ξ3、ξ4 を発生しその最大の値を x とする しかしこれはプログラミング上効率化が出来るので、 ① ξ1 を発生、またもう一つ生成した乱数を x とする ② ξ1 < 3 5 でなければ再び乱数を発生し元の x と比較して大きい方を x とする ③ ξ1 < 9 10 でなければ再び乱数を発生し元の x と比較して大きい方を x とする とする。 例 2.f(x) = 1 2 × 1 2√ 𝑥 + 1 2 × 1 2√1 − 𝑥 ∴ β1 = 1 2 , β2 = 1 2 また h1(x) = 1 2√ 𝑥 , h2(x) = 1 2√1 − 𝑥 また H1(X) = ∫ ℎ1(𝑥)𝑑𝑥 𝑥 0 = √ 𝑥 , H2(X) = ∫ ℎ2(𝑥)𝑑𝑥 𝑥 0 = 1 − √1 − 𝑥 これより以下の手順で生成する。 ① ξ1 を発生し 2 乗にしたものを x とする ② ξ2 を発生し 1 2 以上であれば x = 1 - x とする 以上を踏まえて VBA(Excel2010 上)でプログラミングを行った。
  • 4. 3 ――――― 以下 ソースコード ――――― Const beta1 As Double = 3 / 5, _ beta2 As Double = 9 / 10, _ beta3 As Double = 1 / 2 Function Rei1() As Double Dim xi As Double Randomize xi = Rnd() Rei1 = Rnd() If (xi < beta1) Then Else Rei1 = max(Rei1, Rnd()) End If If (xi < beta2) Then Else Rei1 = max(Rei1, Rnd()) End If End Function
  • 5. 4 Function Rei2() As Double Randomize Rei2 = (Rnd()) ^ 2 If (Rnd() > beta3) Then Rei2 = 1 - Rei2 End If End Function Function max(a As Double, b As Double) As Double If (a > b) Then max = a Else max = b End If End Function Function F(ex As Integer, x1 As Double, x2 As Double) If ex = 1 Then F = 3 / 5 * ((x2 + 1 / 2 * x2 * x2 + 1 / 6 * x2 * x2 * x2) _ - (x1 + 1 / 2 * x1 * x1 + 1 / 6 * x1 * x1 * x1)) ElseIf ex = 2 Then F = -1 / 2 * ((Sqr(1 - x2) - Sqr(x2)) - (Sqr(1 - x1) - Sqr(x1))) End If
  • 6. 5 End Function Function histogramming() Dim N As Long, Nbin As Integer, Nbin1 As Integer, _ NRnd As Long, i As Integer, ex As Integer Dim a As Double, b As Double, dx As Double, _ x As Double, x2 As Double, y As Double With Sheet1 .Cells(4, 11) = InputBox("例題番号を入力してください(1 or 2)", "例題番号の決定") .Cells(4, 12) = InputBox("Nbin 数を入力してください。(30-50)", "Nbin の決定") .Cells(4, 13) = InputBox("発生する乱数の個数を入力してください。型:Long", "乱数の個数の決定") ex = .Cells(4, 11) Nbin = .Cells(4, 12) Nbin1 = Nbin + 1 NRnd = .Cells(4, 13) a = 0# b = 1# Dim H(0 To 51) As Long For i = 0 To Nbin1 H(i) = 0 Next i dx = (b - a) / Nbin For N = 1 To NRnd If ex = 1 Then x1 = Rei1() ElseIf ex = 2 Then x1 = Rei2() End If
  • 7. 6 x2 = x1 - a '3 つの乱数の最大値 0~1 i = Int(x2 / dx) + 1 '(x * Nbin) + 1 ->添字 If (i < 0) Then i = 0 End If If (i > Nbin) Then i = Nbin1 End If H(i) = H(i) + 1 Next N For i = 1 To Nbin x = a + (i - 0.5) * dx ' / Nbin y = H(i) / (NRnd * dx) .Cells(i + 3, 2) = x .Cells(i + 3, 3) = y Next i End With End Function Sub Analytic() Dim N As Long, Nbin As Integer, Nbin1 As Integer, _ i As Integer, a As Integer, b As Integer, ex As Integer Dim dx As Double, H As Double, _ x As Double, x1 As Double, x2 As Double
  • 8. 7 With Sheet1 .Cells(4, 11) = InputBox("例題番号を入力してください(1 or 2)", "例題番号の決定") .Cells(4, 12) = InputBox("Nbin 数を入力してください。(30-50)", "Nbin の決定") .Cells(4, 13) = InputBox("発生する乱数の個数を入力してください。型:Long", "乱数の個数の決定") ex = .Cells(4, 11) Nbin = .Cells(4, 12) Nbin1 = Nbin + 1 NRnd = .Cells(4, 13) a = 0 b = 1 dx = (b - a) / Nbin For i = 1 To Nbin x1 = a + (i - 1) * dx x2 = x1 + dx x = (x1 + x2) / 2 H = F(ex, x1, x2) / dx .Cells(i + 3, 4) = x .Cells(i + 3, 5) = H Next i End With End Sub Sub clear() With Sheet1 Range(.Cells(4, 2), Cells(100, 5)).clear End With End Sub
  • 9. 8 ――――― ソースコード 終わり ――――― ○実行結果 例 1、例 2 のいずれもビンの数は 50 個、乱数の個数は 50 万個で行った。 実行結果とそのグラフは以下の様になった。 x Histogram X Theoritical Value 0.01 0.7152 0.01 0.60604 0.03 0.6728 0.03 0.61828 0.05 0.5958 0.05 0.63076 0.07 0.6875 0.07 0.64348 0.09 0.6543 0.09 0.65644 0.11 0.7266 0.11 0.66964 0.13 0.6355 0.13 0.68308 0.15 0.5861 0.15 0.69676 0.17 0.6384 0.17 0.71068 0.19 0.5642 0.19 0.72484 0.21 0.8228 0.21 0.73924 0.23 0.8703 0.23 0.75388 0.25 0.7671 0.25 0.76876 0.27 0.7129 0.27 0.78388 0.29 0.8393 0.29 0.79924 0.31 0.9365 0.31 0.81484 0.33 0.9266 0.33 0.83068 0.35 0.8699 0.35 0.84676 0.37 0.9245 0.37 0.86308 0.39 0.7719 0.39 0.87964 0.41 0.9901 0.41 0.89644 0.43 0.7176 0.43 0.91348 0.45 1.0522 0.45 0.93076 0.47 0.8322 0.47 0.94828 0.49 0.8968 0.49 0.96604 0.51 1.0948 0.51 0.98404 0.53 1.0348 0.53 1.00228 0.55 1.0004 0.55 1.02076 0.57 1.0629 0.57 1.03948 0.59 1.0859 0.59 1.05844 0.61 1.0651 0.61 1.07764 0.63 0.9816 0.63 1.09708 0.65 1.1712 0.65 1.11676 0.67 1.3133 0.67 1.13668 0.69 1.1663 0.69 1.15684 0.71 1.2546 0.71 1.17724 0.73 1.2766 0.73 1.19788 0.75 1.2152 0.75 1.21876 0.77 1.1574 0.77 1.23988 0.79 1.249 0.79 1.26124 0.81 1.2604 0.81 1.28284 0.83 1.1411 0.83 1.30468 0.85 1.2497 0.85 1.32676 0.87 1.4273 0.87 1.34908 0.89 1.2282 0.89 1.37164 0.91 1.3643 0.91 1.39444 0.93 1.4689 0.93 1.41748 0.95 1.3478 0.95 1.44076 0.97 1.4289 0.97 1.46428 0.99 1.5472 0.99 1.48804 x Histogram X Theoritical Value 0.01 3.8108 0.01 3.786796564 0.03 1.7192 0.03 1.718306008 0.05 1.368 0.05 1.380222498 0.07 1.1645 0.07 1.206585125 0.09 1.1282 0.09 1.096701504 0.11 1.0232 0.11 1.01956354 0.13 1.0023 0.13 0.961921989 0.15 0.918 0.15 0.917024297 0.17 0.8887 0.17 0.881017347 0.19 0.8458 0.19 0.85152124 0.21 0.8462 0.21 0.826977121 0.23 0.8057 0.23 0.806316762 0.25 0.7912 0.25 0.78878162 0.27 0.7501 0.27 0.773817503 0.29 0.7438 0.29 0.761010155 0.31 0.7587 0.31 0.750044221 0.33 0.7434 0.33 0.74067623 0.35 0.7719 0.35 0.732716274 0.37 0.7054 0.37 0.726015322 0.39 0.7028 0.39 0.720456247 0.41 0.6919 0.41 0.715947412 0.43 0.7267 0.43 0.712418037 0.45 0.7262 0.45 0.709814869 0.47 0.6879 0.47 0.708099811 0.49 0.6833 0.49 0.707248302 0.51 0.7262 0.51 0.707248302 0.53 0.7131 0.53 0.708099811 0.55 0.6952 0.55 0.709814869 0.57 0.6936 0.57 0.712418037 0.59 0.7342 0.59 0.715947412 0.61 0.7449 0.61 0.720456247 0.63 0.6946 0.63 0.726015322 0.65 0.7427 0.65 0.732716274 0.67 0.7314 0.67 0.74067623 0.69 0.7591 0.69 0.750044221 0.71 0.7435 0.71 0.761010155 0.73 0.8042 0.73 0.773817503 0.75 0.7761 0.75 0.78878162 0.77 0.7885 0.77 0.806316762 0.79 0.8547 0.79 0.826977121 0.81 0.8377 0.81 0.85152124 0.83 0.9191 0.83 0.881017347 0.85 0.905 0.85 0.917024297 0.87 0.9055 0.87 0.961921989 0.89 1.0345 0.89 1.01956354 0.91 1.0666 0.91 1.096701504 0.93 1.2394 0.93 1.206585125 0.95 1.4225 0.95 1.380222498 0.97 1.6871 0.97 1.718306008 0.99 3.7767 0.99 3.786796564
  • 10. 9 表 1 例 1 の実行結果 表 2 例 2 の実行結果 図 1 例 1 の実行結果のグラフ化 図 2 例 2 の実行結果のグラフ化
  • 11. 10 ■考察 今回は合成関数の確率密度を持つ確率変数を生成してヒストグラムを出力するプログラムを作り、 生成されたヒストグラムと確率密度関数のグラフを同じグラフに可視化して一致することを確認した。 まず例 2 は数回行っても比較的に理論値とは相違が少なかったのに対し、 例 1 の方は回毎にバラつきが大きかったことについて考察する。 これはβの値による相違、つまり元の関数の係数や値による違いによるものであると考えられる。 今回の場合であれば β1 = 3 5 , β2 = 3 10 , β3 = 1 10 であったが、それぞれと(効率化もして) 比較を行い乱数を数個生成した為、よりランダム性が高まったのではないだろうか。 一方例 2 の方では乱数を一つ生成し 2 乗し次の乱数によって足して 1 となる数と入れ替えを行うのみで あった為、バラつきは少なかったと考えられる。 或いはβの個数による違いであるかもしれないとも考えられるだろう。 また試しに例 1 を乱数は 50 万個で同じまま 500 ビンで行ってみると、 図 3 ビン数 500 の例 1 このように非常に理論値とのズレが顕著となった。 この状態で乱数生成数を 500 万個にすると、 図 4 ビン数 500 乱数 500 万個の例 1 と、当然なだらかにはなるもののそれでも大きくズレる。 0 0.5 1 1.5 2 2.5 0.001 0.085 0.169 0.253 0.337 0.421 0.505 0.589 0.673 0.757 0.841 0.925 Histogram Theoritical Value 0 0.5 1 1.5 2 0.001 0.079 0.157 0.235 0.313 0.391 0.469 0.547 0.625 0.703 0.781 0.859 0.937 Histogram Theoritical Value
  • 12. 11 この事からビン数の決定もプロットの上で大きな役割を果たしている事が見て取れるだろう。 速度は 3.4GHz 4 コアの PC 上で、例 1 乱数 50 万個でコンマ秒、500 万個で数秒、 それから 5000 万個で 30 秒ほどであった。 ■課題・今後の展望 ○別の合成関数(βが多くなるものや条件が面白いもの)との比較 ○応用方法の検討 今回において合成関数の確率分布を持つ乱数生成法を習得したので、 その応用方法も考えてみるべきと感じた。 しかし不勉強からか日常においてあまり触れる機会が無かった為直感的に浮かばなかったので 書籍などを参照した上で考えると良いだろう。 ■結び 様々な乱数を生成出来れば、それぞれ恐らく使い道が多岐に渡り、 またこれから始まる研究にも応用が利く事は想像に易いので、 自らの糧としてゆきたいとする想いを以て本レポートの結びとする。