What do the (high) values in a controllability matrix mean?
2 ビュー (過去 30 日間)
古いコメントを表示
In a linear state space system, I used the function
Co = ctrb(A,B)
To check the controllability of the system. I get a full rank matrix and thus, the system is controllable.
However, the matrix Co has values that range from -8.0220e+05 until 1.0672e+06, which seems quite extreme, as my x values lie in the range of 0-100.
My question is then:
What do these high values in a controllability matrix mean, and should I worry about these values being this far from the range of x values?
9 件のコメント
Star Strider
2022 年 8 月 11 日
My pleasure!
Check the rank of the controllabililty matrix with respect to the size (in one dimension) of ‘A’. If they¹re essentially equal, there are no problems. If the controllability matrix drops rank, the system is likely not controllable.
Paul
2022 年 8 月 11 日
Not sure what that someone meant by "invalidate my system?" How can a system be invalidated?
Offhand, the only thing I can think of related to the actual values in Co is the difference between the theoretical rank and the computed rank. For example, consider a second order system with
format short e
A = [0 0;1e-20 0];
B = [1e20; 1];
C = [1 1];
D = 0;
sys = ss(A,B,C,D);
The controllability matrix is
Co = ctrb(sys)
Clearly full rank and therefore controllable. But
rank(Co)
In this case, the numerical rank test (with the default tolerances) yields a wrong conclusion.
Maybe that was the concern?
Or maybe they were referring to a wide range in the entries of the state space matrices themselves? That actually can be a problem.
回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!