Documentation |
Structural pole/zero cancellations
msys = sminreal(sys)
msys = sminreal(sys) eliminates the states of the state-space model sys that don't affect the input/output response. All of the states of the resulting state-space model msys are also states of sys and the input/output response of msys is equivalent to that of sys.
sminreal eliminates only structurally non minimal states, i.e., states that can be discarded by looking only at hard zero entries in the A, B, and C matrices. Such structurally nonminimal states arise, for example, when linearizing a Simulink^{®} model that includes some unconnected state-space or transfer function blocks.
Suppose you concatenate two SS models, sys1 and sys2.
sys = [sys1,sys2];
This operation is depicted in the diagram below.
If you extract the subsystem sys1 from sys, with
sys(1,1)
all of the states of sys, including those of sys2 are retained. To eliminate the unobservable states from sys2, while retaining the states of sys1, type
sminreal(sys(1,1))