Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

dare works only after ctrbf even though dimension stays the same

1 Ansicht (letzte 30 Tage)
Joe Pearlman
Joe Pearlman am 26 Aug. 2017
Geschlossen: MATLAB Answer Bot am 20 Aug. 2021
I got the symplectic pencil error when using dare to solve a steady state filtering problem. I then used ctrbf to convert to controllable form, but as I expected, the dimension of the system remained unchanged. However the output matrices were different, and when I used these for dare, I obtained a solution. The same thing happened when I used the matrices from obsvf. In both cases when dare obtained a solution, there no peculiar large numbers, so why couldn't dare solve with my original matrices?

Antworten (1)

Sudarshan Kolar
Sudarshan Kolar am 28 Aug. 2017
Hi Joe,
One thing you can try is this:
[x,l,g,report] = dare(A,B,Q,R);
Refer the report and see what it returns.
If the 'report' is -1, it is likely that the eigenvalues of the symplectic pencil are close to the unit circle. As mentioned in the documentation of the 'dare' function, for the 'dare' to work, no eigenvalues should be lie on the unit circle.
Also, I would recommend checking other requirements for using 'dare'like:
1. (A,B) must be stabilizable. 2. [Q S;S' R] > 0
The reason Abar, Bbar might be working with 'dare' is you are still using original Q and R. These matrices need transformation too after you have transformed the original state space.
Qbar = T' * Q * T (given: xbar = T * x)
If this does not help either, please check the controllability of your system and paste your A and B matrix in the comments.
Sudarshan

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by