龍谷大学>理工学部>数理情報学科>樋口>担当科目>2011年>計算科学☆演習II>13回め
目次 前回 次回 略解
計算科学☆演習 II
樋口さぶろお
*1 配布: 2011-07-22 Fri更新: Time-stamp: ”2011-07-22 Fri 08:13 JST hig”13 略解 : 確率密度関数の変数変換と逆関数法 13.1 略解 :
1. p
Y(y) =
1
a
(0 ≤ y < a) 0 ( 他 )
. E(Y ) =
a2.
2.
dfdy= (1 − y)
−2. p
X(x) =
1a(
dfdy)
−1=
a1· (1 − y)
2=
ax12. よって , p
X(x) =
1
ax2
(1 ≤ x <
1−1a) 0 ( 他 )
E(X) =
∫
11−a
1
x · 1
ax
2dx = [
a1log | x | ]
1 1−a
1
= −
1alog(1 − a) この結果は , Y に関する期待値
E(
1−1Y) =
∫
a 01 1 − y
1
a dy = − 1
a log(1 − a) と等しい .
14 ラグランジュ表現とオイラー表現
今日の目標
• 複数ウォーカーの位置を , ラグランジュ表現 , オイラー表現それぞれの変数で表現 できる
*1 Copyright c°2011Saburo HIGUCHI. All rights reserved.
, http://hig3.net(講義のページもここからたどれます), へや:1
号館5階502.
14.1 quiz:
座標が整数値のみをとる離散型のランダムウォークを考える . 座標は x = 0, 1, 2, . . . , 9 に 制限されているとする .
6 人のウォーカーが , x = 1 に 2 人 , x = 3 に 3 人 , x = 8 に 1 人いるとする .
1. ラグランジュ表現を用いたとき , 配列 x[] のサイズはどれだけ必要か . また , 配列の各 要素はどのような値をとるか .
2. オイラー表現を用いたとき , 配列 u[] のサイズはどれだけ必要か . また , 配列の各要素 はどのような値をとるか .
ラグランジュ / オイラー表現のサンプル
ソースコード1 ラグランジュ表現
1 /*
2 r w 5 l a g r a n g e . c 3 ラ グ ラ ン ジ ュ 表 示 で
4 3個 の ラ ン ダ ム ウ ォ ー カ の 到 達 点 だ け を 出 力 5 Time - s t a m p : " 20 11 -0 7 -2 1 Thu 0 9 : 1 3 JST hig "
6 */
7 # d e f i n e _ C R T _ S E C U R E _ N O _ W A R N I N G S 8 # i n c l u d e < s t d i o . h >
9 # i n c l u d e < s t d l i b . h >
10
11 # d e f i n e N W A L K E R 3 12
13 d o u b l e u n i f o r m ();
14 int g e t r a n d o m ( d o u b l e y );
15
16 int m a i n (){
17 int t , t m a x ; 18 int n , n m a x ;
19 int s e e d ;
20 int i ;
21
22 /*ラ グ ラ ン ジ ュ 表 現 の 変 数* / 23 int x [ N W A L K E R ];
24
25 s c a n f ("% d " ,& s e e d );
26 s c a n f ("% d " ,& n m a x );
27 s c a n f ("% d " ,& t m a x );
28
29 s r a n d ( s e e d );
33 for ( t =0; t < t m a x ; t + + ) { 34 for ( i =0; i < N W A L K E R ; i + + ) {
35 x [ i ]+= g e t r a n d o m ( u n i f o r m ( ) ) ;
36 }
37 }
38 p r i n t f ("% d " , n );
39 for ( i =0; i < N W A L K E R ; i + + ) { 40 p r i n t f (" ,% d " , x [ i ]);
41 }
42 p r i n t f ("\ n ");
43 }
44 r e t u r n 0;
45 } 46 47
48 /** [0 ,1) 疑 似 乱 数 を 返 す */
49 d o u b l e u n i f o r m (){
50 r e t u r n r a n d ( ) / ( R A N D _ M A X + 1 . 0 ) ; 51 }
52 53
54 /** -1 ,0 ,+1 乱 数 を 返 す */
55 int g e t r a n d o m ( d o u b l e y ){
56 if ( y < 0.2 ){
57 r e t u r n -1;
58 } e l s e if ( y < 0 . 2 + 0 . 5 ){
59 r e t u r n 0;
60 } e l s e {
61 r e t u r n +1;
62 }
ソースコード2 オイラー表現 1 /*
2 r w 5 e u l e r . c 3 オ イ ラ ー 表 示 で
4 3個 の ラ ン ダ ム ウ ォ ー カ の 到 達 点 だ け を 出 力 5 Time - s t a m p : " 20 11 -0 7 -2 1 Thu 0 9 : 1 4 JST hig "
6 */
7 # d e f i n e _ C R T _ S E C U R E _ N O _ W A R N I N G S 8 # i n c l u d e < s t d i o . h >
9 # i n c l u d e < s t d l i b . h >
10
11 # d e f i n e X M A X 61 12
13 d o u b l e u n i f o r m ();
14 int g e t r a n d o m ( d o u b l e y );
15
16 int m a i n (){
17 int t , t m a x ; 18 int n , n m a x ;
19 int s e e d ;
20 int i ;
21 int x ;
22
23 /*オ イ ラ ー 表 現 の 変 数* / 24 int u [ X M A X ];
25 int u n e x t [ X M A X ];
26 27
28 s c a n f ("% d " ,& s e e d );
29 s c a n f ("% d " ,& n m a x );
30 s c a n f ("% d " ,& t m a x );
31
32 s r a n d ( s e e d );
33 for ( n =0; n < n m a x ; n + + ) { 34 for ( x =0; x < X M A X ; x + + ) {
35 u [ x ] = 0 ;
36 }
37 /* 初 期 条 件 */
38 u [ 2 0 ] = 1 ; u [ 3 0 ] = 1 ; u [ 4 0 ] = 1 ; 39
40 for ( t =0; t < t m a x ; t + + ) {
41
42 for ( x =0; x < X M A X ; x + + ) {
43 u n e x t [ x ] = 0 ;
44 }
45 for ( x =0; x < X M A X ; x + + ) { 46 for ( i =0; i < u [ x ]; i + + ) {
47 u n e x t [ x + g e t r a n d o m ( u n i f o r m ( ) ) ] + + ;
48 }
49 }
50 for ( x =0; x < X M A X ; x + + ) {
51 u [ x ]= u n e x t [ x ];
52 }
53 }
54 p r i n t f ( " % 4 d ," , n );
55 for ( x =0; x < X M A X ; x + + ) { 56 p r i n t f ( " % 1 d " , u [ x ]);
57 }
58 p r i n t f ("\ n ");
59 }
60 r e t u r n 0;
61 } 62 63
64 /** [0 ,1) 疑 似 乱 数 を 返 す */
65 d o u b l e u n i f o r m (){
66 r e t u r n r a n d ( ) / ( R A N D _ M A X + 1 . 0 ) ; 67 }
68 69
70 /** -1 ,0 ,+1 乱 数 を 返 す */
71 int g e t r a n d o m ( d o u b l e y ){
72 if ( y < 0.2 ){
73 r e t u r n -1;
74 } e l s e if ( y < 0 . 2 + 0 . 5 ){
75 r e t u r n 0;
76 } e l s e {
77 r e t u r n +1;
78 }
79 }
お知らせ
演習 きょうも個別座席指定まではしないけど , 利用エリアを限定します . 左右の端と中央の 通路沿いの PC は閉鎖します .
3
ファイナルトライアル出題計画
別紙の実施案内も参照 . 再出題 確率密度関数の意味
再出題 連続値確率変数の母平均 , 母分散 , 期待値 再出題 逆関数法による疑似乱数生成
• 関数関係にある確率変数の確率密度関数
• 正規分布と中心極限定理
• 標本平均と , 標本平均に想定される統計誤差
• 期待値の推定と , 期待値の推定に想定される統計誤差
• 当り外れ法数値積分のプログラム
• 棄却法による疑似乱数生成のプログラム
• ラグランジュ表現とオイラー表現
講義のレポート課題