exponenta event banner

idare

Неявный решатель для дискретно-временных алгебраических уравнений Риккати

Описание

пример

[X,K,L] = idare(A,B,Q,R,S,E) вычисляет уникальное стабилизирующее решение X, коэффициент усиления обратной связи о состоянии Kи собственные значения замкнутого цикла L следующего дискретно-временного алгебраического уравнения Риккати.

ATXA ETXE (ATXB + S) (BTXB + R) 1 ( ATXB + S) T + Q = 0

Стабилизирующий раствор X помещает все собственные значения L внутри диска блока.

Алгебраические уравнения Риккати играют ключевую роль в управлении LQR/LQG, управлении H2- и H-бесконечностью, фильтрации Калмана и спектральных или ко-простых факторизациях.

пример

[X,K,L,info] = idare(___) также возвращает структуру info который содержит дополнительную информацию о решении алгебраического уравнения Риккати дискретного времени.

[___] = idare(___,'noscaling') отключает встроенное масштабирование и задает все записи векторов масштабирования info.Sx и info.Sr на 1. Отключение масштабирования ускоряет вычисления, но может повредить точности, когда A,B,Q,R,S,E плохо масштабированы.

пример

[___] = idare(___,'anti') вычисляет антистабилизирующее решение X что ставит все собственные значения L за пределами диска блока.

Примеры

свернуть все

Для этого примера решите алгебраическое уравнение Риккати с дискретным временем, учитывая следующее множество матриц:

A = [-0,9-30,70,1] B = [11] Q = [1003] R = 0,1.

Найти стабилизирующее решение с помощью idare для решения для вышеупомянутых матриц со значениями по умолчанию для S и E.

A = [-0.9,-0.3;0.7,0.1];
B = [1;1];
Q = [1,0;0,3];
R = 0.1;
[X,K,L,info] = idare(A,B,Q,R,[],[])
X = 2×2

    4.7687    0.9438
    0.9438    3.2369

K = 1×2

   -0.2216   -0.1297

L = 2×1

   -0.4460
   -0.0027

info = struct with fields:
        Sx: [2x1 double]
        Sr: 1
         U: [2x2 double]
         V: [2x2 double]
         W: [-0.0232 0.0428]
    Report: 0

Здесь, X является уникальным стабилизирующим раствором, K содержит коэффициент усиления обратной связи по состоянию, L содержит собственные значения замкнутого цикла, в то время как info содержит дополнительную информацию о решении.

Для этого примера решите алгебраическое уравнение Риккати с дискретным временем, учитывая следующее множество матриц:

A = [-0,9-30,70,1] B = [11] Q = [1003] R = 0,1.

Найдите антистабилизирующее решение с помощью 'anti' опция для решения вышеупомянутых матриц со значениями по умолчанию для S и E.

A = [-0.9,-0.3;0.7,0.1];
B = [1;1];
Q = [1,0;0,3];
R = 0.1;
[X,K,L] = idare(A,B,Q,R,[],[],'anti')
X = 2×2

   -0.5423    0.4996
    0.4996   -0.5569

K = 1×2

 -118.0177  490.9023

L = 2×1

 -371.4426
   -2.2420

Здесь, X является уникальным антистабилизирующим решением, K содержит коэффициент усиления обратной связи состояния, и L содержит собственные значения замкнутого цикла.

Входные аргументы

свернуть все

Входные матрицы, указанные как матрицы.

Матрицы Q и R должно быть Эрмитьян. Квадратная матрица эрмитова, если она равна её комплексно-сопряжённой транспозиции, то есть ai, j = a β j, i.

Дополнительные сведения о матрицах эрмитова см. в разделе ishermitian.

Матрица E должен быть неединственным.

Когда матрицы R, S и E опущены или установлены в значение [], idare использует следующие значения по умолчанию:

  • R = I

  • S = 0

  • E = I

Если входные данные Q и R являются скалярными, idare интерпретирует их как кратные единичной матрице.

Параметр отключения встроенного масштабирования, указанный как 'noscaling'. При отключении встроенного масштабирования idare устанавливает все записи в векторах масштабирования info.Sx и info.Sr на 1. Отключение масштабирования ускоряет вычисления, но может повредить точности, когда A,B,Q,R,S,E плохо масштабированы.

Опция для вычисления антистабилизирующего решения, указанная как 'anti'. При включении этого параметра idare вычисляет антистабилизирующее решение X что ставит все собственные значения (A-B*K,E) за пределами диска блока.

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

Выходные аргументы

свернуть все

Уникальное решение дискретно-временного алгебраического уравнения Риккати, возвращаемое в виде матрицы.

По умолчанию X - стабилизирующее решение дискретно-временного алгебраического уравнения Риккати. Когда 'anti' используется опция, X является антистабилизирующим раствором.

idare прибыль [] для X когда нет конечного стабилизирующего раствора.

Коэффициент усиления обратной связи состояния, возвращаемый в виде матрицы.

Коэффициент усиления обратной связи по состоянию K вычисляется как:

K = (BTXB + R) 1 (BTXA + ST).

idare прибыль [] для K когда нет конечного стабилизирующего раствора.

Собственные значения замкнутого цикла, возвращаемые в виде матрицы.

Собственные значения замкнутого цикла L вычисляется как:

L = eig (A BK, E).

idare прибыль [] для X и K когда нет конечного стабилизирующего раствора. L не пуст, даже когда X и K пустые матрицы.

Информация об уникальном решении, возвращенная в виде структуры со следующими полями:

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

  • Sr - Вектор значений, используемых для масштабирования R матрица.

  • U, V и W - векторы значений, представляющие основу стабильного инвариантного подпространства связанного масштабированного матричного карандаша. Дополнительные сведения см. в разделе Алгоритмы.

  • Report - скаляр с одним из следующих значений:

    • 0 - Уникальное решение является точным.

    • 1 - Точность решения невысока.

    • 2 - Решение не является конечным.

    • 3 - Решение не найдено со времени симплектического спектра, обозначаемого [L;1./L], имеет собственные значения на единичной окружности.

Ограничения

  • (A-zE,B) должны быть стабилизируемыми, E и R должны быть обратимыми, и [B;S;R] иметь полный ранг столбца для конечного стабилизирующего раствора X существовать и быть конечным. Хотя эти условия в целом недостаточны, они становятся достаточными при выполнении следующих условий:

    • [QSTSR]  0

    • [A BR 1STQ SR − 1ST] обнаруживается

Алгоритмы

Основа инвариантного подпространства

idare работает со следующим карандашом и вычисляет базис [U;V;W] инвариантного подпространства, связанного со стабильными или антистабильными конечными собственными значениями этого карандаша.

M  zN = [A0B QET SST0R] z [E000AT00 − BT0]

Данные автоматически масштабируются для уменьшения чувствительности собственных значений вблизи единичной окружности и увеличения разделения между стабильным и антистабильным инвариантными подпространствами.

Взаимосвязь между решением, коэффициентом усиления обратной связи и векторами масштабирования

Решение X и усиление обратной связи о состоянии K связаны с векторами масштабирования, и U,V,W по следующему набору уравнений:

X = Dx VU  1  Dx E  1 , K  = −  Dr WU − 1 Dx,

где,

Dx = diag (Sx),  Dr = diag (Sr).

См. также

| | | | | | | (инструментарий надежного управления) | (Надёжная панель инструментов управления) | (Надёжная панель инструментов управления) | (Надёжная панель инструментов управления)

Представлен в R2019a