Documentation Center

  • Trial Software
  • Product Updates

Uncertain State-Space Models (uss)

Uncertain systems (uss) are linear systems with uncertain state-space matrices and/or uncertain linear dynamics. Like their certain (i.e., not uncertain) counterpart, the ss object, they are often built from state-space matrices using the ss command. In the case where some of the state-space matrices are uncertain elements (uncertain Control Design Blocks), the result will be a uncertain state-space (uss) object.

Combining uncertain systems with uncertain systems (with the feedback command, for example) usually leads to an uncertain system. Not-uncertain systems can be combined with uncertain systems. Usually the result is an uncertain system.

The nominal value of an uncertain system is a ss object, which is familiar to Control System Toolbox™ software users.

Properties of uss Objects

Create a uss object and view the properties with the get command.

p1 = ureal('p1',10,'pe',50);
p2 = ureal('p2',3,'plusm',[-.5 1.2]);
p3 = ureal('p3',0);
A = [-p1 p2;0 -p1];
B = [-p2;p2+p3];
C = [1 0;1 1-p3];
D = [0;0];
sys = ss(A,B,C,D);   % Create uss model

get(sys)
                a: [2x2 umat]
                b: [2x1 umat]
                c: [2x2 umat]
                d: [2x1 double]
                e: []
        StateName: {2x1 cell}
        StateUnit: {2x1 cell}
     NominalValue: [2x1 ss]
      Uncertainty: [1x1 struct]
    InternalDelay: [0x1 double]
       InputDelay: 0
      OutputDelay: [2x1 double]
               Ts: 0
         TimeUnit: 'seconds'
        InputName: {''}
        InputUnit: {''}
       InputGroup: [1x1 struct]
       OutputName: {2x1 cell}
       OutputUnit: {2x1 cell}
      OutputGroup: [1x1 struct]
             Name: ''
            Notes: {}
         UserData: []
     SamplingGrid: [1x1 struct]

The properties a, b, c, d, and StateName behave in exactly the same manner as in Control System Toolbox ss objects. The properties InputName, OutputName, InputGroup and OutputGroup behave in exactly the same manner as all of the Control System Toolbox system objects (ss, zpk, tf, and frd).

The NominalValue is a Control System Toolbox ss object, and hence all methods for ss objects are available. For instance, compute the poles and step response of the nominal system.

pole(sys.NominalValue)
ans =

   -10
   -10

step(sys.NominalValue)

Just as with the umat class, the Uncertainty property is a structure containing the uncertain elements. Direct access to the elements is facilitated through Uncertainty. Check the Range of the uncertain element named 'p2' within sys, then change its left endpoint.

sys.Uncertainty.p2.range
ans =

    2.5000    4.2000

sys.Uncertainty.p2.range(1) = 2;
Was this topic helpful?