Решение уравнения риккати в матлабе

Решение уравнения риккати в матлабе

Матричное уравнение Риккати. При известных 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).

Видео:Решение уравнения РиккатиСкачать

Решение уравнения Риккати

Решение уравнения риккати в матлабе

(Not recommended) Continuous-time algebraic Riccati equation solution

care is not recommended. Use icare instead. For more information, see Compatibility Considerations.

Видео:#Дифуры I. Урок 9. Уравнение РиккатиСкачать

#Дифуры 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Скачать

Решение произвольных уравнений. Методы вычислений в 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. Решение дифференциального уравнения.Скачать

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.Скачать

2 - Решениt систем линейных алгебраических уравнений (СЛАУ) с помощью Matlab.

Compatibility Considerations

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 RecommendedRecommended
[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Скачать

Решение систем Д/У: 1. Знакомство с функциями odeXY

icare

Implicit solver for continuous-time algebraic Riccati equations

Видео:1 - Решение систем нелинейных уравнений в MatlabСкачать

1 - Решение систем нелинейных уравнений в Matlab

Syntax

Видео:ТАУ. Matlab/SIMULINK Фазовые портреты нелинейных и линейных диф. уравненийСкачать

ТАУ. 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 моделировать уравнения (Структурная схема САУ)Скачать

Как в 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.9. Системы дифференциальных уравнений

Решение системы уравнений Колмогорова в МатлабеСкачать

Решение системы уравнений Колмогорова в Матлабе

MatLab. 7.7. Параболические и гиперболические уравненияСкачать

MatLab. 7.7. Параболические и гиперболические уравнения

Мат. анализ. Практика 9.1: уравнения Риккати и Бернулли, Филиппов 171, 219Скачать

Мат. анализ. Практика 9.1: уравнения Риккати и Бернулли, Филиппов 171, 219

Решение задачи расписания в MATLABСкачать

Решение задачи расписания в MATLAB

Математическое моделирование в MATLAB: Часть 2Скачать

Математическое моделирование в MATLAB: Часть 2

ТАУ. Matlab/SIMULINK Фазовые портреты систем нелинейных диф. уравненийСкачать

ТАУ. Matlab/SIMULINK Фазовые портреты систем нелинейных диф. уравнений

MATLAB 03 Написание программСкачать

MATLAB 03 Написание программ

Символьные и численные расчеты в MATLABСкачать

Символьные и численные расчеты в MATLAB
Поделиться или сохранить к себе: