• 検索結果がありません。

1 略解 : ランダムウォークと乱数 1.1 略解 : 疑似乱数の使いかた

N/A
N/A
Protected

Academic year: 2021

シェア "1 略解 : ランダムウォークと乱数 1.1 略解 : 疑似乱数の使いかた "

Copied!
3
0
0

読み込み中.... (全文を見る)

全文

(1)

龍谷大学>理工学部>数理情報学科>樋口>担当科目>2011>計算科学☆演習II>02回め 目次 前回 次回 略解

計算科学☆演習 II

樋口さぶろお*1 配布: 2011-04-22 Fri更新: Time-stamp: ”2011-04-22 Fri 09:27 JST hig”

1 略解 : ランダムウォークと乱数 1.1 略解 : 疑似乱数の使いかた

ソースコード1 正解だけど冗長 /*

1 / 3の 確 率 で -1 ,0 ,+1 ,の 冗 長 な 正 解

*/

# 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

# i n c l u d e < s t d i o . h >

# i n c l u d e < s t d l i b . h >

d o u b l e u n i f o r m ();

int m a i n (){

int s e e d ; d o u b l e y ; int t ;

int t m a x = 1 0 0 ; int s ;

s c a n f ("% d " ,& s e e d );

s r a n d ( s e e d );

for ( t =0; t < t m a x ; t + + ) { y = u n i f o r m ();

if ( y < 1 . 0 / 3 ) { s = -1;

}

if ( 1 . 0 / 3 < = y && y < 1 . 0 / 3 + 1 . 0 / 3 ) { s =0;

}

if ( 1 . 0 / 3 + 1 . 0 / 3 < = y ){

s = + 1 ; }

p r i n t f ("% d \ n " , s );

}

r e t u r n 0;

}

/** [0 ,1) 疑 似 乱 数 を 返 す */

d o u b l e u n i f o r m (){

r e t u r n r a n d ( ) / ( R A N D _ M A X + 1 . 0 ) ; }

ソースコード2 正解 1 /*

2 1 / 3の 確 率 で -1 , 0 , +1 , の 正 解

3 */

4 # 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 5 # i n c l u d e < s t d i o . h >

6 # i n c l u d e < s t d l i b . h >

7

8 d o u b l e u n i f o r m ();

9

10 int m a i n (){

11 int s e e d ;

12 d o u b l e y ;

13 int t ;

14 int t m a x = 1 0 0 ;

15 int s ;

16

17 s c a n f ("% d " ,& s e e d );

18 s r a n d ( s e e d );

19 for ( t =0; t < t m a x ; t + + ) { 20 y = u n i f o r m ();

21 if ( y < 1 . 0 / 3 . 0 ){

22 s = -1;

23 } e l s e if ( y < 1 . 0 / 3 + 1 . 0 / 3 ) {

24 s =0;

25 } e l s e {

26 s = + 1 ;

27 }

28 p r i n t f ("% d \ n " , s );

29 }

30 r e t u r n 0;

31 } 32

33 /** [0 ,1) 疑 似 乱 数 を 返 す */

34 d o u b l e u n i f o r m (){

35 r e t u r n r a n d ( ) / ( R A N D _ M A X + 1 . 0 ) ; 36 }

*1 Copyright c2011Saburo HIGUCHI. All rights reserved.

, http://hig3.net(講義のページもここからたどれます), へや:1 号館5502.

(2)

ソースコード3 間違い /*

1 / 3の 確 率 で -1 , 0 , +1 , の 誤 答

*/

# 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

# i n c l u d e < s t d i o . h >

# i n c l u d e < s t d l i b . h >

d o u b l e u n i f o r m ();

int m a i n (){

int s e e d ; // d o u b l e y ; int t ;

int t m a x = 1 0 0 ; int s ;

s c a n f ("% d " ,& s e e d );

s r a n d ( s e e d );

for ( t =0; t < t m a x ; t + + ) { //

if ( u n i f o r m () < 1 . 0 / 3 . 0 ){

s = -1;

} e l s e if ( u n i f o r m ( ) < 1 . 0 / 3 + 1 . 0 / 3 ) { s =0;

} e l s e { s = + 1 ; }

p r i n t f ("% d \ n " , s );

}

r e t u r n 0;

}

/** [0 ,1) 疑 似 乱 数 を 返 す */

d o u b l e u n i f o r m (){

r e t u r n r a n d ( ) / ( R A N D _ M A X + 1 . 0 ) ; }

ソースコード4 間違い 1 /*

2 1 / 3の 確 率 で -1 , 0 , +1 , の 誤 答

3 */

4 # 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 5 # i n c l u d e < s t d i o . h >

6 # i n c l u d e < s t d l i b . h >

7

8 d o u b l e u n i f o r m ();

9

10 int m a i n (){

11 int s e e d ;

12 d o u b l e y ;

13 int t ;

14 int t m a x = 1 0 0 ;

15 int s ;

16

17 s c a n f ("% d " ,& s e e d );

18 s r a n d ( s e e d );

19 y = u n i f o r m ();

20 for ( t =0; t < t m a x ; t + + ) { 21 if ( y < 1 . 0 / 3 . 0 ){

22 s = -1;

23 } e l s e if ( y < 1 . 0 / 3 . 0 + 1 . 0 / 3 . 0 ) {

24 s =0;

25 } e l s e {

26 s = + 1 ;

27 }

28 p r i n t f ("% d \ n " , s );

29 }

30 r e t u r n 0;

31 } 32

33 /** [0 ,1) 疑 似 乱 数 を 返 す */

34 d o u b l e u n i f o r m (){

35 r e t u r n r a n d ( ) / ( R A N D _ M A X + 1 . 0 ) ; 36 }

2 平均・分散・期待値

今日の目標

(

離散的な

)

確率変数が与えられたとき

C

言語でそれに従う疑似乱数を生成できる

(

離散的な

)

確率変数が与えられたとき

,

平均

,

分散

,

期待値が計算できる  

2.1 quiz: 平均 分散 標準偏差 期待値

確率変数

S

は値

1

を確率

1/10

,

0

を確率

3/10

,

+1

を確率

6/10

でとる

. 1. S

の平均を求めよう

.

2.

期待値

E(S

2

)

を求めよう

. 3. S

の分散と標準偏差を求めよう

. 4.

期待値

E(2

S

)

を求めよう

.

2

(3)

お知らせと訂正

講義

/

演習

2011-04-29

は授業実施日

演習 きょうも個別座席指定まではしないけど

,

利用エリアを限定します

.

左右の端と中央の 通路沿いの

PC

は閉鎖します

.

演習 すみません

.

先週のサンプルに

#include "stdio.h"

となってるものが混入してま したが

,

標準ライブラリは

#include <stdio.h>

include

します

.

演習 すみません課題のネーミング変更しました

.

先週やったのは課題

p101 p011.

演習 すみませんプチテスト日程大変更

. 2011-05-06 2011-05-13, 2011-06-10 2011-06- 17, 2011-07-15 2011-07-15

または

22.

目次 前回 次回 略解

3

参照

関連したドキュメント

父親が入会されることも多くなっています。月に 1 回の頻度で、交流会を SEED テラスに

しかしながら、世の中には相当情報がはんらんしておりまして、中には怪しいような情 報もあります。先ほど芳住先生からお話があったのは

   遠くに住んでいる、家に入られることに抵抗感があるなどの 療養中の子どもへの直接支援の難しさを、 IT という手段を使えば

基準の電力は,原則として次のいずれかを基準として決定するも

としても極少数である︒そしてこのような区分は困難で相対的かつ不明確な区分となりがちである︒したがってその

導入以前は、油の全交換・廃棄 が約3日に1度の頻度で行われてい ましたが、導入以降は、約3カ月に

都調査において、稲わら等のバイオ燃焼については、検出された元素数が少なか

下山にはいり、ABさんの名案でロープでつ ながれた子供たちには笑ってしまいました。つ