黎卡提方程是求解最优二次型时用到的一个矩阵方程,形如
,其中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一致。(原理不知道,先凑合着用吧)