マルコフ連鎖によるランダムウォークの座標の母平均値母分散(p071-markovrwexpect01)
情報
- 出題:2021-05-31
- 実行/提出期限:2021-06-07 14:00:00
- 提出
- markovrwexpect01.c プログラム
- markovrwexpect01.xlsx Excelによるグラフ描画
学習目標
- マルコフ連鎖で, ランダムウォークの座標の母期待値, 母分散, 母比率が計算できる.
課題
状況の説明
x軸上の離散座標のランダムウォークを考える. この課題の提出場所の近くの場所で, ランダムウォークの規則と, 初期条件と, 境界条件を取得する.
課題のタスク
- 下の仕様のプログラムを作ろう. ただし, 課題markovpde02同様に multiply_trans の中に直にm×mの2次元配列を書かない方法で,
- T=60の実行結果を, markovrwexpect01.csvに保存しよう.
- Excelで, 横軸\(x\), 縦軸\(p(x,t))\)の折れ線グラフを, \(t=0,1,2,3,4\)くらいについて描こう(1個にまとめて描く方が楽だよね).
- Excelで, 横軸\(t\), 縦軸次の値( 母平均値\(\mathrm{E}[X]\), 母分散\(\mathrm{V}[X]\), 母比率(確率)\(\mathrm{P}[15<X<25]\) の折れ線グラフを描こう(1個にまとめて描く方が楽だよね).
プログラムの入力
- 最終時刻T(0以上の整数)
プログラムの入力例
3
プログラムの出力
- 1行目に#T=に続いて 最終時刻\(T\)
- 2行目にコンマで区切って, 時刻t=0の\(t, p(0,t),p(1,t),p(2,t),p(3,t),\ldots,p(m-1,0),\)続いて母平均値\(\mathrm{E}[X]\), 母分散\(\mathrm{V}[X]\), 母比率(確率)\(\mathrm{P}[15<X<25]\)
- 以降t=1,2,,Tについて同様
プログラムの出力例
小数点以下の桁数は, ランダムウォークの様子がよくわかるグラフが描けるように, 実際に葉多く表示するようにしてください.
#T=3 0,0,0.0,0,0,…,0.0,0,0,1,1,1 1,0,0.0,0,0,…,0,0,0,0,1,1,1 2,0,0,0,0,0,…,0,0,0,0,1,1,1 3,0,0,0,0,0,…,0,0,0,0,1,1,1
アドバイス
これまでのあらすじ
- L04 ランダムウォークの規則をp(x,t)の漸化式に書き直す
- L05 p(x,t)の漸化式を転置推移確率行列Mに書き直す
- L07 境界条件があるときに漸化式や Mを修正する
- markov01 Mをmultiply_trans に書いて p(x,t)を計算する
- markovpde02 Mが大きいときにmultiply_transに2次元配列を書くのを避ける
- markovexpect04 measure_dist を書いて母平均値母分散母比率を出力する
プログラム作成方針の例
改造の方針 markovpde02.c を基本に, multiply_trans を規則に応じて書き替える. markovexpect04 のmeasure_dist を持ってくる.
-
multiply_trans を書くには
- 上の, L04,L05,L07,markov01,markovpde02 の順にたどるとかけるはず
- そうして得た multiply_trans の for 内の pn= の式は, L05 段階で得た漸化式になっているはず
-
母ナントカのグラフを描くには
- markovexpect04 の measure_dist ほぼそのまま使えるはず
自分でチェック!
- 今までの類似の課題のチェック方法でいけると思うけど…
- 初期条件はp(x,0)の出力見るとわかるよね
- 漸化式はp(x,1)の出力見るとわかるよね
- 母ナントカの計算は, p(x,t)から手で計算して比較するとわかるよね
- 境界条件はこれまでチェックしたことがなかった…考えてみて