The function LeastOrderSystem can be used with the control objects SystemMatrix, LeftMatrixFraction, and RightMatrixFraction to create least-order systems, that is, systems with no decoupling zeros. This function can also be applied to a system matrix in state-space form. LeastOrderSystem[system] | create a least-order version of system |
Creating a least-order system. Make sure the application is loaded. Here is a SystemMatrix of a 5th-order system with two inputs and three outputs. Out[3]= | |
Since there is an input decoupling zero at s = -1, the system matrix does not represent a least-order system. Out[5]= | |
Out[7]= | |
This creates a least-order form of the system. Out[9]= | |
Since the matrix T(s) in both the original and the reduced-order system matrix models is lower triangular, it is easy to see that the order of the system matrix, given by the order of the determinant of T(s), has now been reduced from 5 to 4. Indeed, this least-order system does not have any input or output decoupling zeros. Out[11]= | |
Here is a system matrix in state-space form that is observable but not controllable. Out[13]= | |
Out[15]= | |
Out[17]= | |
This creates a system matrix in state-space form that is both controllable and observable. Out[19]= | |
Control System Professional functions Controllable and Observable, normally used with StateSpace objects, can also now be applied directly to SystemMatrix objects, and to LeftMatrixFraction and RightMatrixFraction objects. Controllable[system] | test if the object system is controllable | Observable[system] | test if the object system is observable |
The extended Controllable and Observable functions. This confirms that the system is both controllable and observable. Out[21]= | |
Here is a left matrix-fraction object of a system with two inputs and three outputs. Out[23]= | |
This is not a least-order system, since the denominator matrix D(s) and the numerator matrix N(s) are not left coprime. Out[25]= | |
This is a least-order version of the matrix-fraction system. Out[27]= | |
You can apply the functions Controllable and Observable directly to this object, without having to create a corresponding state-space form, to confirm that this is a least-order system. Out[29]= | |
|