主要内容

lyap

求解连续时间李雅普诺夫方程

说明

使用 lyap 求解李雅普诺夫方程的特殊形式和一般形式。李雅普诺夫方程出现在多个控制领域,包括系统的稳定性理论和均方根 (RMS) 行为研究。

X = lyap(A,Q) 返回李雅普诺夫方程 AX+XAT+Q=0 的解,其中 AQ 表示相同大小的方阵。如果 Q 是对称矩阵,则 X 的解也是对称矩阵。

示例

X = lyap(A,B,C) 返回西尔维斯特方程 AX+XB+C=0 的解,其中输入 A 是 m×m 矩阵,输入 B 是 n×n 矩阵,CX 都是 m×n 矩阵。

示例

X = lyap(A,Q,[],E) 求解李雅普诺夫方程 AXET+EXAT+Q=0,其中 Q 是对称矩阵。对于此语法,您必须使用空方括号 []。如果方括号内有任何值,该函数将返回错误。

示例

示例

全部折叠

此示例说明如何求解李雅普诺夫方程:

AX+XAT+Q=0,

其中

A=[12-3-4]Q=[3111]

A 矩阵是稳定矩阵,Q 矩阵是正定矩阵。

定义矩阵。

A = [1 2; -3 -4];  
Q = [3 1; 1 1];

要求解李雅普诺夫方程,请使用 lyap 函数。

X = lyap(A,Q)
X = 2×2

    6.1667   -3.8333
   -3.8333    3.0000

该函数返回对称矩阵 X。要检查 X 是否为正定矩阵,您可以计算特征值。

eig(X)
ans = 2×1

    0.4359
    8.7308

该解为正定矩阵。

此示例说明如何求解西尔维斯特方程:

AX+XB+C=0,

其中 A=5B=[4333] 并且 C=[21]

定义矩阵。

A = 5;
B = [4 3; 3 3];
C = [2 1];

使用 lyap 函数求解 ABC 的这些值的西尔维斯特方程。

X = lyap(A,B,C)
X = 1×2

   -0.2063   -0.0476

结果为 1×2 矩阵。

此示例说明如何求解广义李雅普诺夫方程 AXET+EXAT+Q=0

生成具有随机值的矩阵 AE

rng(0)
A = rand(2)
A = 2×2

    0.8147    0.1270
    0.9058    0.9134

E = randn(2)
E = 2×2

    0.3188   -0.4336
   -1.3077    0.3426

生成具有复数值的对称矩阵 Q

Q = complex(randn(2),randn(2));
Q = Q*Q'
Q = 2×2 complex

  15.6642 + 0.0000i   5.6211 + 4.1271i
   5.6211 - 4.1271i  16.9265 + 0.0000i

求解广义李雅普诺夫方程。

X = lyap(A,Q,[],E)
X = 2×2 complex

  -2.0000 + 0.0000i  19.6841 - 3.6552i
  19.6841 + 3.6552i  20.9934 + 0.0000i

X 的解是 2×2 对称矩阵。

输入参数

全部折叠

输入矩阵,指定为以下大小的矩阵:

  • AQE - m×m 方阵

  • B - n×n 矩阵

  • C - m×n 矩阵

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
复数支持:

输出参量

全部折叠

解,以矩阵形式返回。对于李雅普诺夫方程,解 Xm×m 方阵。对于西尔维斯特方程,解 X 是大小与 C 相同的矩阵。

限制

如果对于所有对组 (i,j),A 的特征值 α1,α2,...,αnB 的特征值 β1,β2,...,βn 满足 αi+βj0,则连续李雅普诺夫方程具有唯一解。

如果违反此条件,lyap 会生成错误消息:

Solution does not exist or is not unique.

算法

lyap 对李雅普诺夫方程使用 SLICOT 例程 SB03MD 和 SG03AD,对西尔维斯特方程使用 SB04MD (SLICOT) 和 ZTRSYL (LAPACK)。

参考

[1] Bartels, R. H., and G. W. Stewart. “Algorithm 432 [C2]: Solution of the Matrix Equation AX + XB = C [F4].” Communications of the ACM 15, no. 9 (September 1972): 820–26. https://doi.org/10.1145/361573.361582.

[2] Barraud, A. “A Numerical Algorithm to solveA^{T}XA - X = Q.” IEEE Transactions on Automatic Control 22, no. 5 (October 1977): 883–85. https://doi.org/10.1109/TAC.1977.1101604.

[3] Hammarling, S. J. “Numerical Solution of the Stable, Non-Negative Definite Lyapunov Equation Lyapunov Equation.” IMA Journal of Numerical Analysis 2, no. 3 (1982): 303–23. https://doi.org/10.1093/imanum/2.3.303.

[4] Penzl, Thilo. “Numerical Solution of Generalized Lyapunov Equations.” Advances in Computational Mathematics 8, no. 1 (January 1, 1998): 33–48. https://doi.org/10.1023/A:1018979826766.

[5] Golub, G., S. Nash, and C. Van Loan. “A Hessenberg-Schur Method for the Problem AX + XB= C.” IEEE Transactions on Automatic Control 24, no. 6 (December 1979): 909–13. https://doi.org/10.1109/TAC.1979.1102170.

版本历史记录

在 R2006a 之前推出

另请参阅

|