1. 程式人生 > >黎卡提方程求解

黎卡提方程求解

黎卡提方程是求解最優二次型時用到的一個矩陣方程,形如

PA+A^{T}P+Q-PBR^{-1}B^{T}P=0,其中P是需要求出的矩陣。

黎卡提方程的數值迭代求解(Matlab下實現)

 for i=1:150    
     Xn=A'*X*A-A'*X*B*inv(R+B'*X*B)*B'*X*A+Q;
     Xnn=abs(X(:));
     if(max(Xnn)<eps)
         break;
     end
     X=Xn;
 end
 p=Xn;

k=inv(R)*B'*p;

經驗證,使用該方法求解出的矩陣p與matlab中的dare()函式求解出的矩陣p一致。(原理不知道,先湊合著用吧)