Professional Documents
Culture Documents
User’s Guide
Gary Balas
Richard Chiang
Andy Packard
Michael Safonov
How to Contact The MathWorks
www.mathworks.com Web
comp.soft-sys.matlab Newsgroup
www.mathworks.com/contact_TS.html Technical support
508-647-7000 (Phone)
508-647-7001 (Fax)
Trademarks
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand
names may be trademarks or registered trademarks of their respective holders.
Patents
The MathWorks products are protected by one or more U.S. patents. Please see
www.mathworks.com/patents for more information.
Revision History
September 2005 Online only New for Version 3.0.2 (Release 14SP3)
March 2006 Online only Revised for Version 3.1 (Release 2006a)
September 2006 Online only Revised for Version 3.1.1 (Release 2006b)
March 2007 Online only Revised for Version 3.2 (Release 2007a)
September 2007 Online only Revised for Version 3.3 (Release 2007b)
March 2008 Online only Revised for Version 3.3.1 (Release 2008a)
October 2008 Online only Revised for Version 3.3.2 (Release 2008b)
March 2009 Online only Revised for Version 3.3.3 (Release 2009a)
September 2009 Online only Revised for Version 3.4 (Release 2009b)
Contents
Building Uncertain Models
1
Introduction to Uncertain Atoms . . . . . . . . . . . . . . . . . . . . . . . 1-2
Uncertain Real Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Uncertain LTI Dynamics Atoms . . . . . . . . . . . . . . . . . . . . . . . . 1-10
Complex Parameter Atoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-13
Complex Matrix Atoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
Unstructured Uncertain Dynamic Systems . . . . . . . . . . . . . . . 1-17
v
Effect of the Autosimplify Property . . . . . . . . . . . . . . . . . . . . . 1-39
Direct Use of simplify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-41
vi Contents
Robust Performance Margin . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10
LMI Lab
4
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Some Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Overview of the LMI Lab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5
vii
lminbr and matnbr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43
viii Contents
Simulating Uncertainty Effects . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
How to Simulate Effects of Uncertainty . . . . . . . . . . . . . . . . . . . 5-7
How to Vary Uncertainty Values . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Function Reference
6
Functions — By Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2
Uncertain Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Uncertain Matrices and Systems . . . . . . . . . . . . . . . . . . . . . . . . 6-4
Manipulation of Uncertain Models . . . . . . . . . . . . . . . . . . . . . . . 6-4
Interconnection of Uncertain Models . . . . . . . . . . . . . . . . . . . . . 6-6
Model Order Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-6
Robustness and Worst-Case Analysis . . . . . . . . . . . . . . . . . . . . . 6-7
Robustness Analysis for Parameter-Dependent
Systems (P-Systems) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Controller Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
μ-Synthesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Sampled-Data Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Gain Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-10
Frequency-Response Data (FRD) Models . . . . . . . . . . . . . . . . . 6-10
Supporting Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
LMIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
ix
Functions — Alphabetical List . . . . . . . . . . . . . . . . . . . . . . . . 5-17
Block Reference
7
Index
x Contents
1
Building Uncertain
Models
Function Description
All of the atoms have properties, which are accessed through get and set
methods. This get and set interface mimics the Control System Toolbox™
and MATLAB Handle Graphics® behavior. For instance,
get(a,'PropertyName') is the same as a.PropertyName, and
set(b,'PropertyName',Value) is the same as b.PropertyName = value.
Functionality also includes tab-completion and case-insensitive, partial name
property matching.
For ureal, ucomplex and ucomplexm atoms, the syntax is
p1 = ureal(name, NominalValue, Prop1, val1, Prop2, val2,...);
p2 = ucomplex(name, NominalValue, Prop1, val1, Prop2, val2,...);
p3 = ucomplexm(name, NominalValue, Prop1, val1, Prop2,
val2,...);
For ureal, ultidyn, ucomplex and ucomplexm atoms, the command usample
will generate a random instance (i.e., not uncertain) of the atom, within its
modeled range. For example,
1-2
Introduction to Uncertain Atoms
usample(p1)
generates an array of 100 instances of the ultidyn object p4. See “Sampling
Uncertain Objects” on page 1-42 to learn more about usample.
1-3
1 Building Uncertain Models
1-4
Introduction to Uncertain Atoms
b = ureal('b',2,'percentage',20)
Uncertain Real Parameter: Name b, NominalValue 2, variability =
[-20 20]%
get(b)
Name: 'b'
NominalValue: 2
Mode: 'Percentage'
Range: [1.6000 2.4000]
PlusMinus: [-0.4000 0.4000]
Percentage: [-20.0000 20.0000]
AutoSimplify: 'basic'
1-5
1 Building Uncertain Models
1-6
Introduction to Uncertain Atoms
1-7
1 Building Uncertain Models
60
50
40
30
20
10
0
2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 3.8 4
Make the range unsymmetric about the nominal value, and repeat the
sampling, and histogram plot (with 40 bins over the range of 2-to-6)
h.Range = [2 6];
hsample = usample(h,1000);
hist(reshape(hsample,[1000 1]),40);
1-8
Introduction to Uncertain Atoms
80
70
60
50
40
30
20
10
0
2 2.5 3 3.5 4 4.5 5 5.5 6
Note that the distribution is skewed. However, the number of samples less
than the nominal value and the number of samples greater than the nominal
value is equal (on average). Verify this.
length(find(hsample(:)<h.NominalValue))
ans =
509
length(find(hsample(:)>h.NominalValue))
ans =
491
1-9
1 Building Uncertain Models
Range: [-1 1]
PlusMinus: [-1 1]
Percentage: [-Inf Inf]
AutoSimplify: 'basic'
set(ureal)
Name: 'String'
NominalValue: '1x1 real DOUBLE'
Mode: 'Range | PlusMinus'
Range: '1x2 DOUBLE'
PlusMinus: '1x2 or scalar DOUBLE'
Percentage: 'Not settable since Nominal==0'
AutoSimplify: '['off' | 'basic' | 'full']'
The property Bound is a single number, which along with Type, completely
specifies what is known about the uncertain frequency response. Specifically,
if Δ is an ultidyn atom, and if γ denotes the value of the Bound property, then
the atom represents the set of all stable, linear, time-invariant systems whose
frequency response satisfies certain conditions:
·
If Type is 'GainBounded', σ [ Δ ( ω ) ] ≤ γ for all frequencies. When Type is
'GainBounded', the default value for Bound (i.e., γ) is 1. The NominalValue of
Δ is always the 0-matrix.
If Type is 'PositiveReal', Δ(ω)+Δ*(ω)≥2⋅γ for all frequencies. When Type is
'PositiveReal', the default value for Bound (i.e., γ) is 0. The NominalValue
is always (γ+1+2|γ|)I.
1-10