メインコンテンツ

uss/ssbal

Scale state/uncertainty while preserving uncertain input/output map of uncertain system

Syntax

usysout = ssbal(usys)
usysout = ssbal(usys,wc)
usysout = ssbal(usys,wc,FSflag)
usysout = ssbal(usys,wc,FSflag,BLTflag)

Description

usysout = ssbal(usys) yields a system whose input/output and uncertain properties are the same as usys, a uss object. The numerical conditioning of usysout is usually better than that of usys, improving the accuracy of additional computations performed with usysout. usysout is a uss object. The balancing algorithm uses mussv to balance the constant uncertain state-space matrices in discrete time. If usys is a continuous-time uncertain system, the uncertain state-space is mapped by using a bilinear transformation into discrete time for balancing.

usysout = ssbal(usys,wc) defines the critical frequency wc for the bilinear prewarp transformation from continuous time to discrete time. The default value of wc is 1 when the nominal uncertain system is stable and 1.25*mxeig when it is unstable. mxeig corresponds to the value of the real, most positive pole of usys.

usysout = ssbal(usys,wc,FSflag) sets the scaling flag FSflag to handle repeated uncertain parameters. Setting FSflag=1 uses full matrix scalings to balance the repeated uncertain parameter blocks. FSflag=0, the default, uses a single, positive scalar to balance the repeated uncertain parameter blocks.

usysout = ssbal(usys,wc,FSflag,BLTflag) sets the bilinear transformation flag, BLTflag. By default, BLTflag=1 transforms the continuous-time system usys to a discrete-time system for balancing. BLTflag=0 results in balancing the continuous-time state-space data from usys. Note that if usys is a discrete-time system, no bilinear transformation is performed.

ssbal does not work on an array of uncertain systems. An error message is generated to alert you to this.

Examples

Consider a two-input, two-output, two-state uncertain system with two real parameter uncertainties, p1 and p2.

p2=ureal('p2',-17,'Range',[-19 -11]); 
p1=ureal('p1',3.2,'Percentage',0.43); 
A = [-12 p1;.001 p2]; 
B = [120 -809;503 24]; 
C = [.034 .0076; .00019 2]; 
usys = ss(A,B,C,zeros(2,2)) 
USS: 2 States, 2 Outputs, 2 Inputs, Continuous System 
  p1: real, nominal = 3.2, variability = [-0.43  0.43]%, 1 occurrence 
  p2: real, nominal = -17, range = [-19  -11], 1 occurrence          
usys.NominalValue 
a = 
          x1     x2 
   x1    -12    3.2 
   x2  0.001    -17 

b = 
         u1    u2 
   x1   120  -809 
   x2   503    24 

c = 
            x1       x2 
   y1    0.034   0.0076 
   y2  0.00019        2 

d = 
       u1  u2 
   y1   0   0 
   y2   0   0 

Continuous-time model. 
ssbal is used to balance the uncertain system usys.

usysout = ssbal(usys) 
USS: 2 States, 2 Outputs, 2 Inputs, Continuous System 
  p1: real, nominal = 3.2, variability = [-0.43  0.43]%,
1 occurrence 
  p2: real, nominal = -17, range = [-19  -11], 1 occurrence  
        
usysout.NominalValue 
a = 
             x1        x2 
   x1       -12    0.3302 
   x2  0.009692       -17 

b = 
           u1      u2 
   x1  0.7802   -5.26 
   x2    31.7   1.512 

c = 
            x1       x2 
   y1    5.229   0.1206 
   y2  0.02922    31.74 

d = 
       u1  u2 
   y1   0   0 
   y2   0   0 

Continuous-time model. 

Version History

Introduced before R2006a

See Also

| | | | |