Hauptinhalt

lyap

Lösen zeitkontinuierlicher Ljapunow-Gleichung

Beschreibung

Verwenden Sie lyap, um die spezielle und allgemeine Form der Ljapunow-Gleichung zu lösen. Ljapunow-Gleichungen treten in verschiedenen Bereichen der Regelung auf, einschließlich der Stabilitätstheorie und der Untersuchung des RMS-Verhaltens (Root Mean Square) von Systemen.

X = lyap(A,Q) gibt eine Lösung für die Ljapunow-Gleichung AX+XAT+Q=0 aus, wobei A und Q quadratische Matritzen gleicher Größe darstellen. Wenn Q eine symmetrische Matrix ist, ist die Lösung X ebenfalls eine symmetrische Matrix.

Beispiel

X = lyap(A,B,C) gibt eine Lösung für die Sylvester-Gleichung AX+XB+C=0 aus, wobei der Eingang A eine m-mal-m-Matrix, der Eingang B eine n-mal-n-Matrix und sowohl C als auch X m-mal-n-Matrizen darstellen.

Beispiel

X = lyap(A,Q,[],E) löst die verallgemeinerte Ljapunow-Gleichung AXET+EXAT+Q=0, wobei Q eine symmetrische Matrix ist. Sie müssen für diese Syntax leere eckige Klammern [] verwenden. Wenn Sie Werte in die Klammern setzen, gibt die Funktionen einen Fehler aus.

Beispiel

Beispiele

alle reduzieren

Dieses Beispiel demonstriert das Lösen der Ljapunow-Gleichung:

AX+XAT+Q=0,

wobei

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

Die A-Matrix ist stabil, und die Q-Matrix ist positiv definit.

Definieren Sie die Matrizen.

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

Verwenden Sie die Funktion lyap, um die Ljapunow-Gleichung zu lösen.

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

    6.1667   -3.8333
   -3.8333    3.0000

Die Funktion gibt eine symmetrische Matrix X aus. Um zu überprüfen, ob X positiv definit ist, können Sie die Eigenwerte berechnen.

eig(X)
ans = 2×1

    0.4359
    8.7308

Die Lösung ist positiv definit.

Dieses Beispiel demonstriert das Lösen der Sylvester-Gleichung:

AX+XB+C=0,

wobei A=5, B=[4333] und C=[21].

Definieren Sie die Matrizen.

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

Verwenden Sie die Funktion lyap, um die Sylvester-Gleichung für die Werte von A, B und C zu lösen.

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

   -0.2063   -0.0476

Das Ergebnis ist eine 1-mal-2-Matrix.

Dieses Beispiel demonstriert das Lösen der verallgemeinerten Ljapunow-Gleichung AXET+EXAT+Q=0.

Generieren Sie die Matrizen A und E mit Zufallswerten.

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

Generieren Sie eine symmetrische Matrix Q mit komplexen Werten.

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

Lösen Sie die verallgemeinerte Ljapunow-Gleichung.

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

Die Lösung X ist eine symmetrische 2-mal-2-Matrix.

Eingabeargumente

alle reduzieren

Eingangsmatrizen, angegeben als Matrizen mit den folgenden Größen:

  • A, Q und E — quadratische m-mal-m-Matrizen

  • Bn-mal-n-Matrix

  • Cm-mal-n-Matrix

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Unterstützung komplexer Zahlen: Ja

Ausgangsargumente

alle reduzieren

Lösung, ausgegeben als Matrix. Bei Ljapunow-Gleichungen ist die Lösung X eine quadratische m-mal-m Matrix. Bei der Sylvester-Gleichung ist die Lösung X eine Matrix mit der gleichen Größe wie C.

Beschränkungen

Die kontinuierliche Ljapunow-Gleichung hat eine eindeutige Lösung, wenn die Eigenwerte α1,α2,...,αn von A und β1,β2,...,βn von B αi+βj0 für alle Paare (i,j) erfüllen.

Wenn diese Bedingung verletzt wird, gibt lyap folgende Fehlermeldung aus:

Solution does not exist or is not unique.

Algorithmen

lyap verwendet die SLICOT-Routinen SB03MD und SG03AD für Ljapunow-Gleichungen und SB04MD (SLICOT) und ZTRSYL (LAPACK) für Sylvester-Gleichungen.

Referenzen

[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.

Versionsverlauf

Eingeführt vor R2006a

Siehe auch

|