| Robust Control Toolbox | |
| Provide feedback about this page |
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 and 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.
Example
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.
See Also
canonForms canonical state-space realizations
c2dConverts continuous-time models to discrete-time
d2cConverts discrete-time models to continuous-time
mussvSets bounds on the Structure Singular Value (µ)
mussvextractExtracts compressed data returned from mussv
ss2ssChanges state coordinates for state-space models
| Provide feedback about this page |
![]() | squeeze | stabproj | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |