exponenta event banner

lyap

Непрерывное решение уравнения Ляпунова

Синтаксис

lyap
X = lyap(A,Q)
X = lyap(A,B,C)
X = lyap(A,Q,[],E)

Описание

lyap решает особую и общую формы уравнения Ляпунова. Уравнения Ляпунова возникают в нескольких областях управления, включая теорию устойчивости и изучение среднеквадратичного поведения систем.

X = lyap(A,Q) решает уравнение Ляпунова

AX + XAT + Q = 0

где A и Q представляют квадратные матрицы одинаковых размеров. Если Q является симметричной матрицей, решение X также является симметричной матрицей.

X = lyap(A,B,C) решает уравнение Сильвестра

AX + XB + C = 0

Матрицы A, B, и C должны иметь совместимые размеры, но не должны быть квадратными.

X = lyap(A,Q,[],E) решает обобщенное уравнение Ляпунова

AXET + EXAT + Q = 0

где Q - симметричная матрица. Необходимо использовать пустые квадратные скобки [] для этой функции. При размещении каких-либо значений внутри скобок происходит ошибка функции.

Ограничения

Непрерывное уравнение Ляпунова имеет уникальное решение, если собственные значения α1, α2,..., αn для A и β1, β2,..., βn для B удовлетворяют

αi+βj≠0 для всех пар (i, j)

Если это условие нарушено, lyap выдает сообщение об ошибке:

Solution does not exist or is not unique.

Примеры

Пример 1

Решить уравнение Ляпунова

Решить уравнение Ляпунова

AX + XAT + Q = 0

где

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

Матрица А является стабильной, а матрица Q является положительной определенной.

A = [1 2; -3 -4];  
Q = [3 1; 1 1];
X = lyap(A,Q)
Эти команды возвращают следующую матрицу X:
X =

    6.1667   -3.8333
   -3.8333    3.0000
Можно вычислить собственные значения, чтобы увидеть, что X является положительным определенным.

eig(X)

Команда возвращает следующий результат:

ans =

    0.4359
    8.7308

Пример 2

Решить уравнение Сильвестра

Решить уравнение Сильвестра

AX + XB + C = 0

где

A = 5 B = [4343] C = [21]

A = 5;
B = [4 3; 4 3];
C = [2 1];
X = lyap(A,B,C)

Эти команды возвращают следующую матрицу X:

X =

   -0.2000   -0.0500

Алгоритмы

lyap использует подпрограммы SLICOT SB03MD и SG03AD для уравнений Ляпунова и SB04MD (SLICOT) и ZTRSYL (LAPACK) для уравнений Сильвестра.

Ссылки

[1] Бартельс, Р. Х. и Г. В. Стюарт, «Решение матричного уравнения AX + XB = C», Запятая ACM, том 15, № 9, 1972.

[2] Barraud, A.Y., «Численный алгоритм для решения A XA - X = Q», IEEE ® Trans. Auto. Contr., AC-22, стр. 883-885, 1977 .

[3] Хаммарлинг, С.Дж., «Численное решение стабильного, неотрицательного определённого уравнения Ляпунова», IMA J. Num. Anal., Vol. 2, pp. 303-325, 1982.

[4] Пенцл, Т., «Численное решение обобщенных уравнений Ляпунова», «Достижения в комп. математике», т. 8, стр. 33-48, 1998.

[5] Голуб, Г.Х., Нэш, С. и Ван Займ, С.Ф., «Метод Хессенберга-Шура для задачи AX + XB = C», IEEE Trans. Auto. Contr., AC-24, стр. 909-913, 1979.

См. также

|

Представлен до R2006a