> 文章列表 > 离散Lyapunov方程

离散Lyapunov方程

离散Lyapunov方程

 1、输入变量

>> A=[1.1 2;0 0.95]
>> B=[0;0.079]
>> Q=eye(2)
>> R=0.1

 2、利用dlqr求解最优反馈矩阵K

>> [K,P,r]=dlqr(A,B,Q,R)

 3、根据Lyapunov求解可知闭环系统矩阵Q2=Q+K的转置RK

>> Q2=Q+K'*R*K

 4、求解闭环系统矩阵Acl

>> Acl=A-B*K

5、求解特征值,判断系统是否稳定

>> eig(Acl)

 求特征值的模,可知特征值在单位圆内,系统稳定。

>> y=abs(0.5308 + 0.2651i)
>> y=abs(0.5308 - 0.2651i)

6、求解Lyapunov方程

>> P=dlyap(Acl',Q2)

7、求解反馈矩阵Kmpc

Q_=diag(Q,Q,Q,...,P)

R_=diag(R,R,R,...,R)

>> Q_=[eye(2),zeros(2),zeros(2),zeros(2);zeros(2),eye(2),zeros(2),zeros(2);zeros(2),zeros(2),eye(2),zeros(2);zeros(2),zeros(2),zeros(2),P]

>> R_=[0.1 0 0 0;0 0.1 0 0;0 0 0.1 0;0 0 0 0.1]

 8、求F与FAI

F=[A;A2;A3;...AN]

>> F=[A;A*A;A*A*A;A*A*A*A]

 FAI=[B ...;AB B ...;A2B AB ....;AN-1B AN-2B ...B];

>> L=[0;0]
>> FAI=[B L L L;A*B B L L;A*A*B A*B B L;A*A*A*B A*A*B A*B B]

 9、求Kmpc

>> K=inv(FAI'*Q_*FAI+R_)*FAI'*Q_*F

 取第一个值,则u(k)=-[2.459 12.5106]x(k)