Solve Riccati Differential Equation (solve_riccati_ode)
solve_riccati_ode
Solves the Riccati differential equation for the finite-horizon linear quadratic regulator.
NOTE: This function requires the IVP Solver Toolbox.
Syntax
[t,P] = solve_riccati_ode(A,B,Q,R,[],PT,tspan)
[t,P] = solve_riccati_ode(A,B,Q,R,S,PT,tspan)
Description
[t,P] = solve_riccati_ode(A,B,Q,R,[],PT,tspan)
solves the Riccati differential equation for , given the state matrix , input matrix , state weighting matrix , input weighting matrix , terminal condition , and the time span tspan
over which to solve. tspan
can be specified either as the 1×2 double [t0,T]
where is the initial time and is the final time, or as a 1×(N+1) vector of times [t0,t1,...,tNminus1,T]
at which to return the solution for . It is assumed that the cross-coupling weighting matrix is .
[t,P] = solve_riccati_ode(A,B,Q,R,S,PT,tspan)
does the same as the syntax above, but this time the cross-coupling weighting matrix is specified.
Time Vector and Solution Array
The time vector, , is defined as
The ith "layer" of P
(i.e. P(:,:,i)
) stores , where is the time stored in the ith element of the time vector, .
Examples and Additional Documentation
- See "EXAMPLES.mlx" or the "Examples" tab on the File Exchange page for examples.
- See Riccati_Differential_Equation.pdf (also included with download) for additional documentation.
Citation pour cette source
Tamas Kis (2024). Solve Riccati Differential Equation (solve_riccati_ode) (https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.1.0), GitHub. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.