Why does the CANON function error out saying my system is uncontrollable, whereas it actually is controllable?
Show older comments
I am using the CANON function to compute the state-space canonical form of my system. I execute the following command:
G = [tf(1,[1 0]), tf(1,[1 0 0]), tf(1,[1 0 0 0])];
sys2 = ss(G,'min');
sys3 = canon(sys2,'companion')
I receive the following error when I execute the above code:
??? Error using ==> ss.canon at 108
System must be controllable from the first input.
However, I know for a fact that my system is controllable. My system is full rank as indicated by the following command:
rank(ctrb(sys2))
This returns a result '3', indicating that my system is full rank and hence controllable. However the CANON function errors out.
Accepted Answer
More Answers (0)
Categories
Find more on Dynamic System Models in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!