dare

(Не рекомендуемый) Решение алгебраического уравнения Риккати в дискретном времени (DAREs)

dare не рекомендуется. Использование idare вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Синтаксис

[X,L,G] = dare(A,B,Q,R)
[X,L,G] = dare(A,B,Q,R,S,E)
[X,L,G,report] = dare(A,B,Q,...)
[X1,X2,L,report] = dare(A,B,Q,...,'factor')

Описание

[X,L,G] = dare(A,B,Q,R) вычисляет уникальное решение для стабилизации X из алгебраического уравнения Риккати в дискретном времени

ATXAXATXB(BTXB+R)1BTXA+Q=0

dare функционируйте также возвращает матрицу усиления, G=(BTXB+R)1BTXA, и векторный L из собственных значений замкнутого цикла, где

L=eig(A-B*G,E)

[X,L,G] = dare(A,B,Q,R,S,E) решает более общее алгебраическое уравнение Риккати в дискретном времени,

ATXAETXE(ATXB+S)(BTXB+R)1(BTXA+ST)+Q=0

или, эквивалентно, если R несингулярно,

ETXE=FTXFFTXB(BTXB+R)1BTXF+QSR1ST

где F=ABR1ST. Когда не использовано, RS, и E установлены в значения по умолчанию R=I, S=0, и E=I.

dare функция возвращает соответствующую матрицу усиления G=(BTXB+R)1(BTXA+ST)

и векторный L из собственных значений с обратной связью, где

L= eig(A-B*G,E)

[X,L,G,report] = dare(A,B,Q,...) возвращает диагноз report со значением:

  • -1 когда связанный симплектический карандаш имеет собственные значения на или очень около модульного круга

  • -2 когда нет никакого конечного решения для стабилизации X

  • Норма Фробениуса, если X существует и конечен

[X1,X2,L,report] = dare(A,B,Q,...,'factor') возвращает две матрицы, X1 и X2, и диагональная матрица D масштабирования, таким образом, что X = D*(X2/X1)*D. Вектор L содержит собственные значения с обратной связью. Все выходные параметры пусты, когда связанная Симплектическая матрица имеет собственные значения на модульном круге.

Ограничения

(A, B) пара должна быть stabilizable (то есть, все собственные значения A вне единичного диска должны быть управляемы). Кроме того, связанный симплектический карандаш не должен иметь никакого собственного значения на модульном круге. Достаточные условия для этого, чтобы содержать (Q, A) обнаруживаемы когда S = 0 и R> 0, или

[QSSTR]>0

Алгоритмы

dare реализует алгоритмы, описанные в [1]. Это использует алгоритм QZ, чтобы выкачать расширенный симплектический карандаш и вычислить его устойчивое инвариантное подпространство.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2019a

Ссылки

[1] Арнольд, W.F., III и А.Дж. Лоб, "Обобщенные алгоритмы Eigenproblem и программное обеспечение для алгебраических уравнений Riccati", Proc. IEEE®, 72 (1984), стр 1746-1754.

Смотрите также

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