Info
此问题已关闭。 请重新打开它进行编辑或回答。
dare works only after ctrbf even though dimension stays the same
1 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(1 个)
Sudarshan Kolar
2017-8-28
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
1 个评论
Sudarshan Kolar
2017-8-28
Check the below answer post as well:
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!