主要内容

dare

(不推荐)求解离散时间代数黎卡提方程

不推荐使用 dare。请改用 idare。有关详细信息,请参阅版本历史记录

说明

[X,L,G] = dare(A,B,Q,R) 计算离散时间代数黎卡提方程的唯一稳定解 X

ATXAXATXB(BTXB+R)1BTXA+Q=0

dare 函数还返回增益矩阵 G 和闭环特征值向量 L

示例

[X,L,G] = dare(A,B,Q,R,S,E) 求解更一般的离散时间代数黎卡提方程:

ATXAETXE(ATXB+S)(BTXB+R)1(BTXA+ST)+Q=0

或者,如果 R 是非奇异的,则等效方程如下:

ETXE=FTXFFTXB(BTXB+R)1BTXF+QSR1ST

其中,F=ABR1ST

[X,L,G,report] = dare(___) 还返回诊断报告。

[X1,X2,D,L] = dare(___,'factor') 返回黎卡提方程的因式分解解。

示例

全部折叠

根据下面一组矩阵,求解离散时间代数黎卡提方程:

A = [-0.9,-0.3;0.7,0.1];
B = [1;1];
Q = [1,0;0,3];
R = 0.1;

使用 dare 函数,在 SE 取默认值的情况下,求解上述矩阵的稳定解。

[X,L,G,report] = dare(A,B,Q,R)
X =

    4.7687    0.9438
    0.9438    3.2369


L =

   -0.4460
   -0.0027


G =

   -0.2216   -0.1297


report =

   9.4192e-16

输入参数

全部折叠

输入矩阵,指定为矩阵。当您省略 RSE 时,该函数使用默认值 R = IS = 0E = I

输出参量

全部折叠

离散时间代数黎卡提方程的解,以矩阵形式返回。

当相关联的辛矩阵在单位圆上有特征值时,dare 会为 X 返回 []

闭环特征值,以矩阵形式返回。

闭环特征值 L 的计算公式如下:

L=eig(A-B*G,E)

状态反馈增益,以矩阵形式返回。

状态反馈增益 G 的计算公式如下:

G=(BTXB+R)1(BTXA+ST)

当相关联的辛矩阵在单位圆上有特征值时,dare 会为 G 返回 []

诊断报告,以标量形式返回,取值为以下值之一:

  • -1,当相关联的辛矩阵束在单位圆上或非常接近单位圆处有特征值时。

  • -2,当不存在有限稳定解 X 时。

  • Frobenius 范数,当 X 存在且有限时。

因式分解解矩阵,以矩阵形式返回。该函数返回 X1X2 和对角缩放矩阵 D,使得 X = D(X1/X2)D 成立。

当相关联的辛矩阵在单位圆上有特征值时,dareX1X2D 返回为空。

限制

(A, B) 对组必须是可稳定的(即,A 在单位圆盘外的所有特征值必须是可控的)。此外,相关联的辛矩阵束在单位圆上不得有特征值。满足此限制的充分条件是,当 S = 0R > 0 时,(Q, A) 可检测到,或者

[QSSTR]>0

算法

dare 实现 [1] 中描述的算法。它使用 QZ 算法压缩扩展辛矩阵束,并计算其稳定不变子空间。

参考

[1] Arnold, W.F., and A.J. Laub. “Generalized Eigenproblem Algorithms and Software for Algebraic Riccati Equations.” Proceedings of the IEEE 72, no. 12 (1984): 1746–54. https://doi.org/10.1109/PROC.1984.13083.

版本历史记录

在 R2006a 之前推出

全部折叠

另请参阅