« 2.6g | トップページ | ベイズ推計を手に入れた »

2010年12月18日 (土)

メトロポリス法のプログラム

とりあえず1変数バージョンをつくってみました。今、出先でiPhoneで打ってるので、帰ったらExcelに貼り付けてみましょう。

'初期値設定と乱数初期化
X=1
Randomize

'メインルーチン開始
For T=1 to 10000

'移動先候補
Y=X+Rnd*0.1

'確率密度計算(fは密度関数)
P=f(X)
Q=f(Y)

'移動判定
If Q>P Then
X=Y
Else
If Rnd X=Y
End If
End If

'適当な出力ルーチン(今は略)

Next T

'お終い

これで確率密度が高い方に動きやすいアルゴリズムになっているはずですが、どうでしょうか。

|

« 2.6g | トップページ | ベイズ推計を手に入れた »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/121873/50334036

この記事へのトラックバック一覧です: メトロポリス法のプログラム:

« 2.6g | トップページ | ベイズ推計を手に入れた »