Solve Riccati Differential Equation (solve_riccati_ode)

Version 3.1.0 (240 KB) by Tamas Kis
Solves the Riccati differential equation for the finite-horizon linear quadratic regulator.
313 Downloads
Updated 8 Dec 2022

solve_riccati_ode View Solve Riccati Differential Equation (solve_riccati_ode) on File Exchange

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.

Cite As

Tamas Kis (2026). Solve Riccati Differential Equation (solve_riccati_ode) (https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.1.0), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2021b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
3.1.0

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.1.0

3.0.4

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.0.4

3.0.3

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.0.3

3.0.2

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.0.2

3.0.1.0

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.0.1

3.0.0.0

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v3.0.0

2.0.0

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v2.0.0

1.0.2

See release notes for this release on GitHub: https://github.com/tamaskis/odericcati-MATLAB/releases/tag/v1.0.2

1.0.1.0

See release notes for this release on GitHub: https://github.com/tamaskis/solve_riccati_ode-MATLAB/releases/tag/v1.0.1

1.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.