Contenido principal

lyap

Resolver la ecuación de Lyapunov en tiempo continuo

Descripción

Use lyap para resolver las formas generales y especiales de la ecuación de Lyapunov. Las ecuaciones de Lyapunov surgen en diferentes áreas de control, como la teoría de la estabilidad y el estudio del comportamiento de la raíz cuadrática media (RMS) de sistemas.

X = lyap(A,Q) devuelve una solución a la ecuación de Lyapunov AX+XAT+Q=0, donde A y Q representan matrices cuadradas de tamaños idénticos. Si Q es una matriz simétrica, la solución X también es una matriz simétrica.

ejemplo

X = lyap(A,B,C) devuelve una solución a la ecuación de Sylvester AX+XB+C=0, donde la entrada A es una matriz de m por m, la entrada B es una matriz de n por n y tanto C como X son matrices de m por n.

ejemplo

X = lyap(A,Q,[],E) resuelve la ecuación generalizada de Lyapunov AXET+EXAT+Q=0, donde Q es una matriz simétrica. Debe utilizar corchetes vacíos [] para esta sintaxis. Si introduce algún valor dentro de los corchetes, la función devuelve un error.

ejemplo

X = lyap(___,Scaling="off") desactiva el escalado automático. Cuando se activa el escalado, la función ejecuta una forma de equilibrar matrices. El escalado puede mejorar la precisión comprimiendo el rango numérico, pero en ocasiones puede empeorar la situación cuando un mejor escalado para (A,E) genera como resultado un peor escalado para B.

Ejemplos

contraer todo

Este ejemplo muestra cómo resolver la ecuación de Lyapunov:

AX+XAT+Q=0,

donde

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

La matriz A es estable y la matriz Q es definida positiva.

Defina las matrices.

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

Para resolver la ecuación de Lyapunov, use la función lyap.

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

    6.1667   -3.8333
   -3.8333    3.0000

La función devuelve una matriz simétrica X. Para comprobar si X es definida positiva, puede calcular los valores propios.

eig(X)
ans = 2×1

    0.4359
    8.7308

La solución es definida positiva.

Este ejemplo muestra cómo resolver la ecuación de Sylvester:

AX+XB+C=0,

donde A=5, B=[4333] y C=[21].

Defina las matrices.

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

Use la función lyap para resolver la ecuación de Sylvester para estos valores de A, B y C.

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

   -0.2063   -0.0476

El resultado es una matriz de 1 por 2.

Este ejemplo muestra cómo resolver la ecuación generalizada de Lyapunov AXET+EXAT+Q=0.

Genere las matrices A y E con valores aleatorios.

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

Genere una matriz Q simétrica con valores complejos.

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

Resuelva la ecuación generalizada de Lyapunov.

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 solución X es una matriz simétrica de 2 por 2.

Argumentos de entrada

contraer todo

Matrices de entrada, especificadas como matrices de los siguientes tamaños:

  • A, Q y E: matrices cuadradas de m por m

  • B: matriz de n por n

  • C: matriz de m por n

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Soporte de números complejos:

Argumentos de salida

contraer todo

Solución, devuelta como matriz. Para las ecuaciones de Lyapunov, la solución X es una matriz cuadrada de m por m. Para la ecuación de Sylvester, la solución X es una matriz del mismo tamaño que C.

Limitaciones

La ecuación continua de Lyapunov tiene una única solución si los valores propios α1,α2,...,αn de A y β1,β2,...,βn de B cumplen αi+βj0 para todos los pares (i,j).

Si no se cumple esta condición, lyap aparece el mensaje de error:

Solution does not exist or is not unique.

Algoritmos

lyap utiliza las rutinas de SLICOT SB03MD y SG03AD para las ecuaciones de Lyapunov y las rutinas SB04MD y ZTRSYL de SLICOT y LAPACK, respectivamente, para las ecuaciones de Sylvester.

Referencias

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

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

|