lyap

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

Синтаксис

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

Описание

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

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+βj0forallpairs(i,j)

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

Solution does not exist or is not unique.

Примеры

Пример 1

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

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

AX+XAT+Q=0

где

A=[1234]Q=[3111]

Матрица A стабильна, и матрица 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=5B=[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] Bartels, R.H. and G.W. Stewart, «Solution of the Matrix Equation AX + XB = C», Comm. of the ACM, Vol. 15, No. 9, 1972.

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

[3] Хаммарлинг, С.Ж., «Численное решение устойчивого, неотрицательного определенного уравнения Ляпунова», ИМА Ж. Нум. Анал., том 2, стр. 303 - 325, 1982.

[4] Penzl, T., «Численное решение обобщенных уравнений Ляпунова», Усовершенствования Компл. Math., Vol. 8, pp. 33-48, 1998.

[5] Golub, G.H., Nash, S. and Van Loan, C.F., «A Hessenberg-Schur method for the problem AX + XB = C», IEEE Trans. Auto. Contr., AC-24, pp. 909-913, 1979.

См. также

|

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