粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

足立先生の「カルマンフィルタの基礎」の誤植について~MATLABを用いた代数リカッチ方程式の求解~

誤植はどの本にもあることです。 なお,手元にあるのは第4版です。

カルマンフィルタの基礎

カルマンフィルタの基礎

線形カルマンフィルタの終端値とリカッチ方程式

線形カルマンフィルタの事前推定の共分散をPとします。 十分時間が経って定常値となる時のカルマンゲインは


K = B^\top A^{-1} =  P C^\top (C PC^\top + R)^{-1}

この時,終端値において次の式が成り立ちます。


P = A(I-KC)PA^\top + Q

もっと長く書くとこう。


P = A(I-P C^\top (C PC^\top + R)C)^{-1} PA^\top + Q

展開すると


APA^\top -A - AP C^\top (C PC^\top + R)^{-1}CPA^\top + Q=0

となり,これは代数リッカチ方程式(DARE)となります。

MATLABで解けます。

jp.mathworks.com

MATLABでリカッチ方程式を解く解法

Referenceによると,

f:id:ossyaritoori:20190522013718p:plain

だそうです。

従って,

[P,L,G]=dare(A',C',Q,R)

と実行することで解を得られます。

誤植箇所

p149 演習6-2の解答

解答ではPの最終値が1+√3としていますが,

[P,L,G]=dare(1',1',4,1)

を計算すると,2(1+√2)=4.8前後が正解の値になるはずです。 なお,スカラなので手計算でリカッチ方程式を解いても同様の値になります。

ドヤ顔で書いてますが間違ってたらすみません。