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

II L05(2014-05-09 Fri)

N/A
N/A
Protected

Academic year: 2021

シェア "II L05(2014-05-09 Fri)"

Copied!
10
0
0

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

全文

(1)

樋口さぶろお

龍谷大学理工学部数理情報学科

計算科学☆演習 II L05(2014-05-09 Fri)

今日の目標

1 2

http://hig3.net

樋口さぶろお (数理情報学科) L05 計算科学☆演習II(2014) 1 / 10

(2)

ここまで来たよ

1

確率シミュレーション Quiz 解説

2

連絡

講義のプチテスト

(3)

L04-S2

Quiz 解答 : 確率シミュレーション

ソースコード 1: もどってくる確率

1

/∗ i n c l u d e

な ど 前 略∗/

2

3

int g e t r a n d o m ( d o u b l e y );

4

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

5

int f ( int x );

6

7

int m a i n (){

8

int d ; /∗

シ ー ド ∗/

9

10

int x ; /∗

ウ ォ ー カ ー の 座 標 ∗/

11

int x s t a r t =0; /

ス タ ー ト 時 刻 の 座 標

/

12

13

int n ; /

サ ン プ ル 内 デ ー タ 番 号

/

14

int n m a x = 1 0 0 0 0 ; /

サ ン プ ル サ イ ズ

/

15

int c o u n t ; /∗

条 件 が 成 立 し た デ ー タ の 個 数 ∗/

16

樋口さぶろお (数理情報学科) L05 計算科学☆演習II(2014) 3 / 10

(4)

17

int t ; /∗

時 刻 ∗/

18

int t m a x = 2 0 ; /

最 終 時 刻

/

19

20

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

21

s r a n d ( d );

22

c o u n t =0;

23

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

24

x = x s t a r t ;

25

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

26

x = x + g e t r a n d o m ( g e t u n i f o r m ( ) ) ;

27

}

28

c o u n t += f ( x );

29

}

30

/

確 率 の 推 定 値

/

31

p r i n t f ( " % f \ n " ,( d o u b l e ) c o u n t / n m a x );

32

r e t u r n 0;

33

}

34

35

/∗

戻 っ て き た ら

1

∗/

36

int f ( int x ){

37

int x t a r g e t =0; /

ゴ ー ル の 座 標

/

(5)

38

int ret ;

39

if ( x == x t a r g e t ){

40

ret =1;

41

} e l s e {

42

ret =0;

43

}

44

r e t u r n ret ;

45

}

46

47

/∗

関数定義など後略 ∗/

樋口さぶろお (数理情報学科) L05 計算科学☆演習II(2014) 5 / 10

(6)

int で済む変数 sum,count を double にしている

int のほうが速いしメモリも少ししか使わないし正確なので , int 済むものは int .

x,t, サンプル内通し番号 n, 条件を満たす試行の個数 count は整数値 しかとらないので int で済む . srand の引数は unsigned int と決 まってる .

double a; に対して a++; などとすると意図しない結果になる . for loop のカウンタに double を使うのは超悪趣味 . 遅いし , 誤差が 蓄積する .

タイプキャスト ( 型変換 ) してない

int a=1; int b=3; のとき , a/b は 0.

((double)a)/((double)b) なら double 同士の演算になって

0.33333 となる . (double)a/b a/(double)b でも結果的に同じ .

(7)

割り算でタイプキャストするのが面倒だから最初から double を使っ ておく , のは超悪趣味 . できるところまで int で計算して , 必要なと ころでタイプキャストする .

for ループの範囲を意識

時刻 t = 0, 1, 2, 3, . . . , 20 = T = tmax. 問題文に 20 と書いてある .

樋口さぶろお (数理情報学科) L05 計算科学☆演習II(2014) 7 / 10

(8)

ここまで来たよ

1

確率シミュレーション Quiz 解説

2

連絡

講義のプチテスト

(9)

講義のプチテスト

2014-05-16

2, 90

, 30

ピーナッツ

,

参照相談なし

.

紙のテスト

.

過去問は公開してるけど

,

のりは毎年違う

. 2014

2013

よりかなり範囲狭い はず

.

下の出題計画

, Quiz,

予習復習問題

,

演習課題をカバーしておくことを お奨めします

.

出題計画

(

確定版

)(2014-05-09

金ごろにメールで修正

,

確定します

).

Windows / Visual Studio / Excel

に関わる問はありません

. 2014-05-09

金の 講義

,14

水の演習で初めて出てくる事項は含みません

. []

内は例で

,

ほぼ同じ 問題が出るという意味ではありません

.

離散的な確率変数が与えられたとき母平均値,母分散,母標準偏差,母期待値, 条件を満たす確率を手計算で求める[L02-Q4]

ランダムウォークが与えられたとき,時刻tの座標X(t)の母平均値,母分散,母 標準偏差,母期待値,条件を満たす確率を手計算で求める[L03-Q2, L03-Q3]

標本が与えられたとき母平均値,母分散,母標準偏差,母期待値,条件を満たす 確率を手計算で推定する[L02-Q5,L03-Q1]

母集団,標本,標本抽出,推定の意味を説明する(選択肢問題)[L02-Q1,L02-Q3]

乱数生成の仕組み,シードの意味. srand, randの機能と使い方を説明する(記述 問題or選択肢問題) [L01-Q1,L02-Q2]

ランダムウォークの座標の標本抽出のプログラムを書く(穴埋めor選択指摘問 題) [rw13,rw14]

確率シミュレーションのプログラムを書く(穴埋めor選択指摘問題) [sim6,sim7]

ワイルドカード

樋口さぶろお (数理情報学科) L05 計算科学☆演習II(2014) 9 / 10

(10)

予習復習問題

講義 - 演習間の復習問題は L04 後が最後です 演習 - 講義間の復習問題を再開します 相談しよう

チューター 月火水木昼 1 号館 6 階 1-614.

オフィスアワー ( 樋口 ) 木昼 1-608, 金 5( ただし 2015-05-09 金 5 は休 止 )1-502.

自宅で演習の課題をやろう Visual Studio には Express Edition という ‘ 無 料版 ’ があります . 数理情報学科の学生は DreamSpark 経由で Visual

Studio 製品を自宅で使えます .

https://www.a.math.ryukoku.ac.jp/dreamspark/

参照

関連したドキュメント

 体育授業では,その球技特性からも,実践者である学生の反応が①「興味をもち,積極

ニホンジカはいつ活動しているのでしょう? 2014 〜 2015

はありますが、これまでの 40 人から 35

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船

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

15 校地面積、校舎面積の「専用」の欄には、当該大学が専用で使用する面積を記入してください。「共用」の欄には、当該大学が

図および図は本学で運用中の LMS「LUNA」に iPad 版からアクセスしたものである。こ こで示した図からわかるように iPad 版から LUNA にアクセスした画面の「見た目」や使い勝手

製品の配送までをコンピューターを使って総合的に管理する経営手法)の観点から