在最优控制跟踪问题中,有一个增益矩阵K (t)的Riccati方程为:
\dot{ K }(t) = - K (t) A - A ^{T} K (t) - Q + K (t) B R ^{-1} B ^{T} K (t)
在 Tf 的最后时刻,给出了终端边界条件K(Tf)。
编辑:经过考虑,我认为问题是如何将增益矩阵与给定的终端边界条件进行数值反向积分并将结果保存在查找表中以获得区间 [t0,Tf] 上的解,以便在 Simulink 中进行进一步计算?
在最优控制跟踪问题中,有一个增益矩阵K (t)的Riccati方程为:
\dot{ K }(t) = - K (t) A - A ^{T} K (t) - Q + K (t) B R ^{-1} B ^{T} K (t)
在 Tf 的最后时刻,给出了终端边界条件K(Tf)。
编辑:经过考虑,我认为问题是如何将增益矩阵与给定的终端边界条件进行数值反向积分并将结果保存在查找表中以获得区间 [t0,Tf] 上的解,以便在 Simulink 中进行进一步计算?
该方程的数值解可在Optimal Control Systems一书中找到
例如,以下是该技术的摘录:
E=B*inv(R)*B'; % the matrix E = BR^{-1}B'
%
% solve matrix difference Riccati equation backwards
% starting from kf to kO
% use the form P(k) = A'P(k+1)[I + EP(k+1)]^{-1}A + Q
% first fix the final condition P(k_f) = F
Pkplus1=F;
p11(N)=F(1);
p12(N)=F(2);
p21(N)=F(3);
p22(N)=F(4);
for k=N-1:-1:1,
Pk = A' *Pkplus1*inv(I+E*Pkplus1)*A+Q;
p11 (k) = Pk(1);
p12(k) = Pk(2);
p21(k) = Pk(3);
p22(k) = Pk(4);
Pkplus1 = Pk;
end
如需更多信息,您可以查看这本书。它很棒而且内容丰富。