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