Матричное уравнение Риккати. При известных A, R, Q (A 0, матрицы R и Q симметричны), рассматривается уравнение вида
Алгоритм решения связан с расчетом блочной матрицы собственных векторов S=[v; ω], отвечающей устойчивой части спектра [A R, -Q -A’], причем P=wv -1 .
Якопо Франческо — итальянский математик рубежа XVIII века. Учился в Падуе. С 1747 жил в Венеции. Известен также инженерной деятельностью, он руководил постройкой речных плотин. Основные труды относятся к интегральному исчислению и дифференциальным уравнениям. Автор исследований об интегрируемости в элементарных функциях одного типа дифференциального уравнения 1-го порядка, названного его именем. Отмеченное уравнение описывает стационарную точку решения. Соответствующая процедура включена в системный тулбокс.
Матричное уравнение Ляпунова. При известных A, Q (A 0, Q=Q’), ищется матрица P из уравнения
Это частный случай обращения к процедуре решения уравнения Риккати, при R=0.
К уравнению Ляпунова сводятся задачи нахождения грамианов динамических систем. Более общее матричное уравнение имеет вид
оно дает решение для кросс-грамиана, при B=A, R=0, Q=bc. Алгоритм связан с составлением блочной матрицы [A R, -Q -B], в остальном все также, как и в случаях, рассмотренных выше call P=riccati4(A R Q B).
- Решение уравнения риккати в матлабе
- Syntax
- Description
- Examples
- Example 1
- Example 2
- Limitations
- Algorithms
- Compatibility Considerations
- care is not recommended
- icare
- Syntax
- Description
- Examples
- Solve Continuous-Time Algebraic Riccati Equation
- Anti-Stabilizing Solution of Continuous-Time Algebraic Riccati Equation
- 🔍 Видео
Видео:Решение уравнения РиккатиСкачать
Решение уравнения риккати в матлабе
(Not recommended) Continuous-time algebraic Riccati equation solution
care is not recommended. Use icare instead. For more information, see Compatibility Considerations.
Видео:#Дифуры I. Урок 9. Уравнение РиккатиСкачать
Syntax
[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’)
Видео:Уравнения Риккатти. Дифференциальны уравненияСкачать
Description
[X,L,G] = care(A,B,Q) computes the unique solution X of the continuous-time algebraic Riccati equation
A T X + X A − X B B T X + Q = 0
The care function also returns the gain matrix, G = R − 1 B T X E .
[X,L,G] = care(A,B,Q,R,S,E) solves the more general Riccati equation
A T X E + E T X A − ( E T X B + S ) R − 1 ( B T X E + S T ) + Q = 0
When omitted, R , S , and E are set to the default values R=I , S=0 , and E=I . Along with the solution X , care returns the gain matrix G = R − 1 ( B T X E + S T ) and a vector L of closed-loop eigenvalues, where
[X,L,G,report] = care(A,B,Q. ) returns a diagnosis report with:
— 1 when the associated Hamiltonian pencil has eigenvalues on or very near the imaginary axis (failure)
— 2 when there is no finite stabilizing solution X
The Frobenius norm of the relative residual if X exists and is finite.
This syntax does not issue any error message when X fails to exist.
[X1,X2,D,L] = care(A,B,Q. ‘factor’) returns two matrices X1 , X2 and a diagonal scaling matrix D such that X = D*(X2/X1)*D .
The vector L contains the closed-loop eigenvalues. All outputs are empty when the associated Hamiltonian matrix has eigenvalues on the imaginary axis.
Видео:Решение произвольных уравнений. Методы вычислений в MATLAB. Часть 1. Урок 61Скачать
Examples
Example 1
Solve Algebraic Riccati Equation
A = [ − 3 2 1 1 ] B = [ 0 1 ] C = [ 1 − 1 ] R = 3
you can solve the Riccati equation
A T X + X A − X B R − 1 B T X + C T C = 0
This yields the solution
You can verify that this solution is indeed stabilizing by comparing the eigenvalues of a and a-b*g .
Finally, note that the variable l contains the closed-loop eigenvalues eig(a-b*g) .
Example 2
Solve H-infinity ( H ∞ )-like Riccati Equation
To solve the H ∞ -like Riccati equation
A T X + X A + X ( γ − 2 B 1 B 1 T − B 2 B 2 T ) X + C T C = 0
rewrite it in the care format as
A T X + X A − X [ B 1 , B 2 ] ︸ B [ − γ 2 I 0 0 I ] ︸ R − 1 [ B 1 T B 2 T ] X + C T C = 0
You can now compute the stabilizing solution X by
Видео:Уравнение РиккатиСкачать
Limitations
The ( A , B ) pair must be stabilizable (that is, all unstable modes are controllable). In addition, the associated Hamiltonian matrix or pencil must have no eigenvalue on the imaginary axis. Sufficient conditions for this to hold are ( Q , A ) detectable when S = 0 and R > 0 , or
Видео:MatLab. Решение дифференциального уравнения.Скачать
Algorithms
care implements the algorithms described in [1]. It works with the Hamiltonian matrix when R is well-conditioned and E = I ; otherwise it uses the extended Hamiltonian pencil and QZ algorithm.
Видео:2 - Решениt систем линейных алгебраических уравнений (СЛАУ) с помощью Matlab.Скачать
Compatibility Considerations
care is not recommended
Not recommended starting in R2019a
Starting in R2019a, use the icare command to solve continuous-time Riccati equations. This approach has improved accuracy through better scaling and the computation of K is more accurate when R is ill-conditioned relative to care . Furthermore, icare includes an optional info structure to gather the implicit solution data of the Riccati equation.
The following table shows some typical uses of care and how to update your code to use icare instead.
Not Recommended | Recommended |
---|---|
[X,K,L] = icare(A,B,Q,R,S,E,G) computes the stabilizing solution X , the state-feedback gain K and the closed-loop eigenvalues L of the continuous-time algebraic Riccati equation. For more information, see icare . | |
[X,K,L,info] = icare(A,B,Q,R,S,E,G) computes the stabilizing solution X , the state-feedback gain K , the closed-loop eigenvalues L of the continuous-time algebraic Riccati equation. The info structure contains the implicit solution data. For more information, see icare . |
There are no plans to remove care at this time.
Видео:Решение систем Д/У: 1. Знакомство с функциями odeXYСкачать
icare
Implicit solver for continuous-time algebraic Riccati equations
Видео:1 - Решение систем нелинейных уравнений в MatlabСкачать
Syntax
Видео:ТАУ. Matlab/SIMULINK Фазовые портреты нелинейных и линейных диф. уравненийСкачать
Description
[ X , K , L ] = icare( A,B,Q,R,S,E,G ) computes the unique stabilizing solution X , state-feedback gain K , and the closed-loop eigenvalues L of the following continuous-time algebraic Riccati equation.
A T X E + E T X A + E T X G X E — ( E T X B + S ) R — 1 ( B T X E + S T ) + Q = 0
The stabilizing solution X puts all the eigenvalues L in the left half-plane.
Algebraic Riccati equations play a key role in LQR/LQG control, H2- and H-infinity control, Kalman filtering, and spectral or co-prime factorizations.
[ X , K , L , info ] = icare( ___ ) also returns a structure info which contains additional information about the solution to the continuous-time algebraic Riccati equation.
[ ___ ] = icare( ___ , ‘noscaling’ ) turns off the built-in scaling and sets all entries of the scaling vectors info.Sx and info.Sr to 1. Turning off scaling speeds up computation but can be detrimental to accuracy when A,B,Q,R,S,E,G are poorly scaled.
[ ___ ] = icare( ___ , ‘anti’ ) computes the anti-stabilizing solution X that puts all eigenvalues L in the right half-plane.
Видео:Как в MATLAB Simulink моделировать уравнения (Структурная схема САУ)Скачать
Examples
Solve Continuous-Time Algebraic Riccati Equation
To solve the algebraic Riccati equation A T X + XA — XB B T X + C C T = 0 , consider the following matrices:
A = [ 1 — 2 3 — 4 5 6 7 8 9 ] B = [ 5 6 — 7 ] C = [ 7 — 8 9 ] .
The least effort approach is to use G = — B B T and Q = C T C , and then find the solution using icare .
The above approach may lead to numerical inaccuracies when matrices B and C have large entries, since they are squared-up to compute the G and Q matrices. Due to limited numerical range, the computation may be less accurate or even fail. For example, if norm(B) is 1e6 , then norm(G) is 1e12 , and any eigenvalue within 1e-4 of the imaginary axis may be diagnosed as ‘imaginary’ due to numerical errors.
For greater numerical accuracy, re-write the algebraic Riccati equation in the following way:
A T X + XA – [ XB , C T ] * [ I , 0 ; 0 , — I ] [ B T X ; C ] = 0 .
The above equation is the standard form of A T X + XA — ( XB + S ) R — 1 ( B T X + S T ) = 0 ,
where B = [ B , 0 ] , S = [ 0 , C T ] , and R = [ I , 0 ; 0 , — I ] .
Compute the solution using icare with the above values.
Here, X2 is the unique stabilizing solution, K2 contains the state-feedback gain and L2 contains the closed-loop eigenvalues.
Anti-Stabilizing Solution of Continuous-Time Algebraic Riccati Equation
To find the anti-stabilizing solution of the continuous-time algebraic Riccati equation A T X + XA — XB B T X + C C T = 0 , consider the following matrices:
A = [ 1 — 2 3 — 4 5 6 7 8 9 ] B = [ 5 6 — 7 ] C = [ 7 — 8 9 ] .
For greater numerical accuracy, re-write the algebraic Riccati equation in the following way:
A T X + XA – [ XB , C T ] * [ I , 0 ; 0 , — I ] [ B T X ; C ] = 0 .
The above equation is the standard form of A T X + XA — ( XB + S ) R — 1 ( B T X + S T ) = 0 ,
where B = [ B , 0 ] , S = [ 0 , C T ] , and R = [ I , 0 ; 0 , — I ] .
Compute the anti-stabilizing solution using the ‘anti’ option.
🔍 Видео
MatLab. 7.9. Системы дифференциальных уравненийСкачать
Решение системы уравнений Колмогорова в МатлабеСкачать
MatLab. 7.7. Параболические и гиперболические уравненияСкачать
Мат. анализ. Практика 9.1: уравнения Риккати и Бернулли, Филиппов 171, 219Скачать
Решение задачи расписания в MATLABСкачать
Математическое моделирование в MATLAB: Часть 2Скачать
ТАУ. Matlab/SIMULINK Фазовые портреты систем нелинейных диф. уравненийСкачать
MATLAB 03 Написание программСкачать
Символьные и численные расчеты в MATLABСкачать