主要内容

dlqr

离散时间状态空间系统的线性二次 (LQ) 状态反馈调节器

说明

[K,S,P] = dlqr(A,B,Q,R,N) 使用离散时间状态空间矩阵 AB 计算最优增益矩阵 K、相关联代数黎卡提方程的解 S 和闭环极点 P。此函数仅适用于离散时间模型。对于连续时间模型,请使用 lqr

输入参数

全部折叠

状态矩阵,指定为一个 n×n 矩阵,其中 n 是状态数。

输入-状态矩阵,指定为一个 n×m 输入-状态矩阵,其中 m 是输入数。

状态-代价加权矩阵,指定为一个 n×n 矩阵,其中 n 是状态数。您可以用布莱森法则来设置 Q 的初始值,由下式给出:

Qi,i=1maximum acceptable value of (errorstates)2, i{1,2,...,n}Q=[Q1,1000Q2,200000Qn,n]

此处,n 是状态数。

输入-代价加权矩阵,指定为标量或与 D'D 大小相同的矩阵。此处,D 是馈通状态空间矩阵。您可以用布莱森法则来设置 R 的初始值,由下式给出:

Rj,j=1maximum acceptable value of (errorinputs)2, j{1,2,...,m}R=[R1,1000R2,200000Rm,m]

此处,m 是输入数。

可选交叉项矩阵,指定为矩阵。如果未指定 N,则默认情况下 lqrN 设置为 0。

输出参量

全部折叠

闭环系统的最优增益,以大小为 n 的行向量形式返回,其中 n 是状态数。

相关联代数黎卡提方程的解,以 n×n 矩阵形式返回,其中 n 是状态数。换句话说,S 与状态空间矩阵 A 的维度相同。有关详细信息,请参阅 idare

闭环系统的极点,以大小为 n 的列向量形式返回,其中 n 是状态数。

算法

dlqr 计算最优增益矩阵 K,使得状态反馈律 u[n]=Kx[n] 最小化离散时间状态空间模型的二次代价函数:

J(u)=n=1(x[n]TQx[n]+u[n]TRu[n]+2x[n]TNu[n])

这里,离散时间状态空间模型为 x[n+1]=Ax[n]+Bu[n]

除了状态反馈增益 Kdlqr 还返回相关联的离散时间黎卡提方程的无限时域解 S

ATSAS(ATSB+N)(BTSB+R)1(BTSA+NT)+Q=0

以及闭环特征值 P = eig(ABK)。增益矩阵 K 是使用下式从 S 派生的:

K=(BTSB+R)1(BTSA+NT)

在任何情况下,当您省略交叉项矩阵 N 时,dlqr 都会将 N 设置为 0。

版本历史记录

在 R2006a 之前推出

另请参阅

| | | |