マルコフ連鎖の母期待値の数値計算(markovexpect04) - 課題p072
情報
- 出題:2020-05-26
- 実行/提出期限:2020-06-02 15:40:00
- 提出
- markovexpect04.c プログラム
- markovexpect04.xlsx 結果のデータとグラフ
学習目標
- マルコフ連鎖で母期待値の時間変化を計算するプログラムを書ける.
課題
状況の説明
課題markov01と同じ状況を考える. 転置推移確率行列は新たに取得する.
課題のタスク
- 課題markov01で作成したプログラム を改造して, 時刻ごとに母期待値 \(\mathrm{E}[X(t)^2]\),母分散\(\mathrm{V}[X(t)]\), \(X(t)>1\)の母比率\(p\)を計算する, 仕様の通りのプログラムを作成しよう.
-
30 0.4 0.6 0.0 0.0
30 0.4 0.3 0.2 0.1
の2種類の入力で実行し, 横軸t, 縦軸母期待値or母分散or母比率で別々のシートにグラフを描こう.
プログラムの入力
- 最終時刻T(0以上の整数)
- t=0での初期分布ベクトルの成分p[0] p[1] ... p[m-1](m個の小数)
プログラムの入力例
3 0.0 1.0 0.0 0.0
プログラムの出力
- 1行目に#T=に続いて 最終時刻\(T\)
- 2行目にコンマで区切って, 時刻t=0の\(t, p_0,p_1,p_2,\ldots,p_{m-1},\mathrm{E}[X(T)^2]\),母分散\(\mathrm{V}[X(T)]\),母比率\(p\)
- 3行目にコンマで区切って, 時刻t=1の\(t, p_0,p_1,p_2,\ldots,p_{m-1},\mathrm{E}[X(T)^2]\),母分散\(\mathrm{V}[X(T)]\),母比率\(p\)
- …
- T+2行目にコンマで区切って, 時刻t=Tの\(t, p_0,p_1,p_2,\ldots,p_{m-1},\mathrm{E}[X(T)^2]\),母分散\(\mathrm{V}[X(T)]\),母比率\(p\)
プログラムの出力例
#T=3 0,0.0,1.0,0.0,0.0,1.0,0.0,0.0 1,0.0,1.0,0.0,0.0,1.0,0.0,0.0 2,0.0,1.0,0.0,0.0,1.0,0.0,0.0 3,0.0,1.0,0.0,0.0,1.0,0.0,0.0
アドバイス
- 「単純な」マルコフ連鎖(w07.pdf(--p.14)でないケースです. 違ったことが起きます. 動画L07-04, L07-05, 資料(p.15--)参照.
- プログラムの修正は
void measures_dist(double p[],int m, int t)
内部のみを書き替えることをお奨めします. - 公式\(\mathrm{V}[X(t)]=\mathrm{E}[X(t)^2]-\mathrm{E}[X(t)]^2\)を使うのがいいでしょう.
- 標本期待値じゃなく母期待値なのでご注意. \(m=4\)って標本サイズじゃなくて母分布の量だよね. 標本抽出してるわけじゃないからもちろんそうなんですけど.