(Не рекомендуемый) Алгебраическое решение уравнения Риккати в непрерывном времени
care
не рекомендуется. Использовать icare
вместо этого. Для получения дополнительной информации см. раздел Вопросов совместимости.
[X,L,G] = care(A,B,Q)
[X,L,G] = care(A,B,Q,R,S,E)
[X,L,G,report] = care(A,B,Q,...)
[X1,X2,D,L] = care(A,B,Q,...,'factor')
[X,L,G] = care(A,B,Q)
вычисляет уникальное решение X
алгебраического уравнения Риккати в непрерывном времени
The care
функция также возвращает матрицу усиления, .
[X,L,G] = care(A,B,Q,R,S,E)
решает более общее уравнение Риккати
Когда опущен, R
, S
, и E
заданы значения по умолчанию R=I
, S=0
, и E=I
. Наряду с решением X
, care
возвращает матрицу усиления и вектор L
собственных значений с обратной связью, где
L=eig(A-B*G,E)
[X,L,G,report] = care(A,B,Q,...)
возвращает диагноз report
с:
Этот синтаксис не выдает сообщений об ошибке, когда X не может существовать.
[X1,X2,D,L] = care(A,B,Q,...,'factor')
возвращает две матрицы X1
, X2
и диагональную матрицу масштабирования D
таким образом X = D*(X2/X1)*D
.
Вектор L содержит собственные значения с обратной связью. Все выходы пусты, когда связанная гамильтоновая матрица имеет собственные значения на воображаемой оси.
Решение Алгебраического уравнения Риккати
Данный
можно решить уравнение Риккати
около
a = [-3 2;1 1] b = [0 ; 1] c = [1 -1] r = 3 [x,l,g] = care(a,b,c'*c,r)
Это приводит к решению
x x = 0.5895 1.8216 1.8216 8.8188
Можно проверить, что это решение действительно стабилизируется, сравнив собственные значения a
и a-b*g
.
[eig(a) eig(a-b*g)] ans = -3.4495 -3.5026 1.4495 -1.4370
Наконец, обратите внимание, что переменная l
содержит собственные значения замкнутой системы eig(a-b*g)
.
l l = -3.5026 -1.4370
Решение H-бесконечности () - как уравнение Риккати
Чтобы решить - подобно уравнению Риккати
переписать его в care
форматировать как
Теперь можно вычислить стабилизирующее решение около
B = [B1 , B2] m1 = size(B1,2) m2 = size(B2,2) R = [-g^2*eye(m1) zeros(m1,m2) ; zeros(m2,m1) eye(m2)] X = care(A,B,C'*C,R)
пара должна быть стабилизируемой (то есть все нестабильные режимы являются управляемыми). В сложение связанная гамильтоновая матрица или карандаш не должны иметь собственного значения на воображаемой оси. Достаточные условия для хранения: обнаруживается, когда и , или
care
реализует алгоритмы, описанные в [1]. Он работает с гамильтоновой матрицей, когда R хорошо обусловлен и ; в противном случае используется расширенный гамильтоновский карандаш и алгоритм QZ.
[1] Arnold, W.F., III and A.J. Laub, «Generalized Eigenproblem Algorithms and Software for Algebraic Riccati Equations», Proc. IEEE®, 72 (1984), стр. 1746-1754