Chapter 6 State-Space Design
Xmath Control Design Module 6-8 ni.com
minimal( )[SysM,T,nuco] = minimal(Sys,{tol})
Because nonminimal systems are uncontrollable, unobservable, or both,
you want to be able to compute the minimal realization for a given system.
This comprises the controllable and observable parts of the dynamic
system. The minimal( ) function calls both the controllable( ) and
observable( ) functions, then extracts the part of the original system
that is both controllable and observable.
minimal( ) is implemented directly as a wrapper on controllable( )
and observable( ). The controllable subsystem is extracted first, then
the observable part of the subsystem is returned. For an example of how to
find a minimal realization for a system with uncontrollable or unobservable
parts, refer to Example 6-3.
Example 6-3 Finding a Minimal Realization for a System
A system is described by:
A = [1,0,0.01;0,1,0;0,0,1];
B = [1,0,0]';
C = [0.6,0.8,0];
D = 0;
Sys = system(A,B,C,D);
Notice that the system has a number of zero-pole pairs which cancel each
other out:
poles(Sys)
ans (a column vector) =
1
1
1
zeros(Sys)
ans (a column vector) =
1
1
To find the minimal part of the system:
SysM = minimal(Sys);
The system has 2 uncontrollable states
poles(SysM)