Contenuto principale

lyap

Risolvere l'equazione di Lyapunov a tempo continuo

Descrizione

Utilizzare lyap per risolvere le forme speciali e generali dell'equazione di Lyapunov. Le equazioni di Lyapunov sono presenti in diverse aree di controllo, tra cui la teoria della stabilità e lo studio del comportamento della radice quadratica media (RMS) dei sistemi.

X = lyap(A,Q) restituisce una soluzione all'equazione di Lyapunov AX+XAT+Q=0, dove A e Q rappresentano matrici quadrate di identica grandezza. Se Q è una matrice simmetrica, anche la soluzione X è una matrice simmetrica.

esempio

X = lyap(A,B,C) restituisce una soluzione all'equazione di Sylvester AX+XB+C=0, dove l'input A è una matrice m x m, l'input B è una matrice n x n e C e X sono entrambi matrici m x n.

esempio

X = lyap(A,Q,[],E) risolve l'equazione di Lyapunov generalizzata AXET+EXAT+Q=0, dove Q è una matrice simmetrica. Per questa sintassi è necessario utilizzare le parentesi quadre vuote []. Se si inserisce un qualsiasi valore all'interno delle parentesi, la funzione restituisce un errore.

esempio

Esempi

comprimi tutto

Questo esempio mostra come risolvere l'equazione di Lyapunov:

AX+XAT+Q=0,

dove

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

La matrice A è stabile e la matrice Q è positiva definita.

Definire le matrici.

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

Per risolvere l'equazione di Lyapunov, utilizzare la funzione lyap.

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

    6.1667   -3.8333
   -3.8333    3.0000

La funzione restituisce una matrice simmetrica X. È possibile calcolare gli autovalori per verificare se X.

eig(X)
ans = 2×1

    0.4359
    8.7308

La soluzione è positiva definita.

Questo esempio mostra come risolvere l'equazione di Sylvester:

AX+XB+C=0,

dove A=5, B=[4333] e C=[21].

Definire le matrici.

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

Utilizzare la funzione lyap per risolvere l'equazione di Sylvester per questi valori di A, B e C.

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

   -0.2063   -0.0476

Il risultato è una matrice 1x2.

Questo esempio mostra come risolvere l'equazione di Lyapunov generalizzata AXET+EXAT+Q=0.

Generare le matrici A e E con valori casuali.

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

Genera una matrice simmetrica Q con valori complessi.

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

Risolvere l'equazione di Lyapunov generalizzata.

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

La soluzione X è una matrice simmetrica 2x2.

Argomenti di input

comprimi tutto

Matrici di input, specificate come matrici con le seguenti grandezze:

  • A, Q e E: matrici quadrate m x m

  • B: matrice n x n

  • C: matrice m x n

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Supporto numeri complessi:

Argomenti di output

comprimi tutto

Soluzione, restituita come matrice. Per le equazioni di Lyapunov, la soluzione X è una matrice quadrata m x m. Per l'equazione di Sylvester, la soluzione X è una matrice della stessa grandezza di C.

Limiti

L'equazione di Lyapunov continua ha una soluzione unica se gli autovalori α1,α2,...,αn di A e β1,β2,...,βn di B soddisfano αi+βj0 per tutte le coppie (i,j).

Se questa condizione è violata, lyap produce il seguente messaggio di errore:

Solution does not exist or is not unique.

Algoritmi

lyap utilizza le routine SLICOT SB03MD e SG03AD per le equazioni di Lyapunov e la routine (SLICOT) SB04MD e ZTRSYL (LAPACK) per le equazioni di Sylvester.

Riferimenti

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

Cronologia versioni

Introduzione prima di R2006a

Vedi anche

|