FunctionallyControllable[system] |
| test if the system is functionally controllable |
LeftHalfPlaneControllable[system] |
|
| test if the system is functionally controllable and also has no right half-plane transmission zeros |
Testing functional controllability. Make sure the application is loaded. Here is a transfer-function object describing a system with two inputs and two outputs. Out[3]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_3.gif) |
This is its McMillan form. Out[5]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_5.gif) |
Despite the right half-plane zeros at s = +1 in both of the diagonal elements of the original transfer-function matrix, the system is both functionally controllable and left half-plane controllable. Out[7]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_7.gif) |
Out[9]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_9.gif) |
Here is another transfer-function object, describing a system with two inputs and three outputs. Out[11]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_11.gif) |
The corresponding state-space system is completely controllable and is also output controllable. Out[13]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_13.gif) |
Out[15]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_15.gif) |
Out[17]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_17.gif) |
However, since this system has more outputs than inputs, it is not functionally controllable. Out[19]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_19.gif) |
Here is the transpose of this system, which now has three inputs and two outputs. Out[21]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_21.gif) |
Here are all the minors of order 2. Out[23]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_23.gif) |
Since there is at least one nonzero 2 × 2 minor, this system is functionally controllable. Out[25]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_25.gif) |
Here is yet another system that is functionally controllable. Out[27]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_27.gif) |
Out[29]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_29.gif) |
The system has a zero at s = +1 in the McMillan form of the transfer-function model, and so it is not left half-plane controllable. Out[31]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_31.gif) |
Out[33]= | ![](HTMLImages/LeftHalfPlaneControllable.en/LeftHalfPlaneControllable.en_i_33.gif) |
In fact, it is not possible to set up two simultaneous high-gain feedback loops, that is, loops with a gain > 10, say, around this apparently simple multivariable system, and maintain stability (see Section 4.1.4). |