- ベストアンサー
MCMCを用いたパラメータ推定[Matlab]
- MCMCを使用したパラメータ推定のためのMatlabプログラムで、IfとEndの不一致エラーが発生しています。
- パラメータ推定にはポアソン分布を使用し、データの当てはまりを見ています。
- プログラムではMCMCの反復回数やパラメータの更新幅などを指定しています。初心者のため、間違いがあるかもしれません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
確認ですが、 >IfとEndが合わないという忠告が何個も出てしまいます というのは「警告」であって「エラー」ではないんですよね? まあ警告ならほっといてもいいんですが… もし警告だとすれば、それはifとendのインデントがあっていないことによると思われます。 スペースを_(アンダーバー)で表します。 if 1; ______if 0; ________A=5; ____end; end; とすると、おそらく2行目に警告が出ると思われます。 どうやら、ifとendがスペース2つ分以上離れていると出るみたいです。 で、解決方法ですが、Matlabのエディタを使っているのであれば ctrl+A(全て選択)→ctrl+I(スマートインデント)で解決すると思われます。 参考になれば幸いです。
その他の回答 (1)
- Kules
- ベストアンサー率47% (292/619)
A No.1のKulesです。 警告がなくなったようで安心しました。 >肝心のプログラムが間違っているようで、上手く答えが出てくれません。。。 というのは、エラーが出るということではなく、何か「このような答えが出るはず」というパラメータを入れてもそのような答えが出ないということでしょうか? 残念ながら私の使用しているMatlabにはStatistics Toolboxが入っていないので、 poissrndやpoisspdfが動きません。 したがって、あなたの書いたコードが動くかどうかを確かめる術がありません。 また、MCMCがどのようなものなのかを知らないため、どのように動けば正解なのかもわかりません。 少なくともこのプログラム自体にはエラーはなさそう(poissrnd以降が私の環境で動かないので断言はできませんが)なので、あとはアルゴリズム上の問題かと。 お役に立てず申し訳ないです。
お礼
ご回答、ありがとうございました。 どうにか書き変えて上手く動きました! 教えていただいたCtrl A + Ctrl Iも使わせて頂いてます!!! ありがとうございました。
お礼
回答、ありがとうございました。 教えていただいたやり方で試したところ、警告はなくなりました! Ctrl+AとCtrl+I、便利ですね! ただ、肝心のプログラムが間違っているようで、上手く答えが出てくれません。。。 このプログラムに対しても、何かアドヴァイス等ございましたら申し訳ありませんがよろしくお願いします。 ご回答、ありがとうございました。