(Не рекомендуемый) Алгебраическое решение уравнения Риккати в непрерывном времени
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