How can I use simulink to solve the algebraic Riccati equation?

10 views (last 30 days)
Hi,
I need to use simulink to solve the algebraic Riccati equation. How can I do?
I 'm using the LQR for vibrations control.

Answers (3)

max
max on 11 Mar 2013
I need to solve Riccati at every step, in a real time controller.

Shashank Prasanna
Shashank Prasanna on 11 Mar 2013
You will always solve the Riccati equation offline to compute your LQR gain matrix. You will then use your gain matrix in the simulation in Simulink.
You can solve your LQR Riccati equation by just calling LQR command in the Control Systems Toolbox:
If you want a generic solver use CARE:
  1 Comment
Shashank Prasanna
Shashank Prasanna on 12 Mar 2013
I believe you can use s-functions to implement the same in matlab and include it in simulink

Sign in to comment.


Kshitij Kadiya
Kshitij Kadiya on 22 Nov 2020
I'm not sure if this helps any of you but I'm posting for anyone new who lands on this page as I did when I needed to do this.
You can use
coder.extrinsic('icare')
inside your matlab function from simulink.
Beware though that you will have to initiate the variable you plan to assign the output to. Have a look at extrinsic functions help page.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!