13.4 MATLAB/Simulink在线性二次型最优控制中的应用

在MATLAB中,有专门求解连续系统线性二次型最优控制问题的函数lqr()、lqr2()及lqry(),常见的调用格式为:

  1. [K,P,E] = lqr(A,B,Q,R,N)
  2. [K,P,E] = lqr2(A,B,Q,R,N)
  3. [K,P,E] = lqry(sys,Q,R,N)

其中,输入的参数中,A为系统的状态转移矩阵,B为输入矩阵,Q为给定的半正定矩阵,R为给定的正的实对称矩阵,N为性能指标中交叉乘积项的加权系数矩阵。

返回的参数中,K表示最优反馈矩阵,P是Riccati方程H_380-01的解,E则是A-BK的特征值。

lqr2与lqr在调用上是完全相同的,只是使用的算法不同。lqry用于求解二次型状态调节器的特例,采用输出反馈代替状态反馈。此时,最优控制为

P_380-5

性能指标则转化为

P_380-6

也被称为次优控制。

对于离散系统线性二次型最优控制问题,MATLAB提供了完全相似的函数dlqr和dlqry,常见的调用格式为

  1. [K,P,E] = dlqr(A,B,Q,R,N)
  2. [K,P,E] = dlqry(A,B,C,D,Q,R,N)

输入、输出中各参数的含义同前。