The ucomplex
element is the Control Design Block that represents an uncertain
complex number. The value of an uncertain complex number lies in a disc, centered at
NominalValue
, with radius specified by the Radius
property of the ucomplex
element. The size of the disc can also be
specified by Percentage
, which means the radius is derived from the
absolute value of the NominalValue
. The properties of ucomplex
objects are
Properties 
Meaning 
Class 


Internal Name 


Nominal value of element 





Radius of disk 


Additive variation (percent of 




The simplest construction requires only a name and nominal value. Displaying the
properties shows that the default Mode
is Radius
, and
the default radius is 1.
a = ucomplex('a',2j)
a = Uncertain complex parameter "a" with nominal value 21i and radius 1.
get(a)
NominalValue: 2.0000  1.0000i Mode: 'Radius' Radius: 1 Percentage: 44.7214 AutoSimplify: 'basic' Name: 'a'
Sample the uncertain complex parameter at 400 values, and plot in the complex plane. Clearly, the samples appear to be from a disc of radius 1, centered in the complex plane at the value 2j.
asample = usample(a,400);
plot(asample(:),'o');
xlim([0.5 4.5]);
ylim([3 1]);
The uncertain complex matrix class, ucomplexm
, represents the set of matrices given by the formula
N + W_{L}ΔW_{R}
where N, W_{L}, and
W_{R} are known matrices, and Δ is any complex
matrix with $$\dot{\overline{\sigma}}\left(\Delta \right)\le 1$$. All properties of a ucomplexm
are can be accessed with get
and
set
. The properties are
Properties 
Meaning 
Class 


Internal Name 


Nominal value of element 


Left weight 


Right weight 




Create a 4by3 uncertain complex matrix (ucomplexm
), and view its properties. The simplest construction requires only a name and nominal value.
m = ucomplexm('m',[1 2 3; 4 5 6; 7 8 9; 10 11 12])
m = Uncertain complex matrix "m" with 4 rows and 3 columns.
get(m)
NominalValue: [4x3 double] WL: [4x4 double] WR: [3x3 double] AutoSimplify: 'basic' Name: 'm'
The nominal value is the matrix you supply to ucomplexm
.
mnom = m.NominalValue
mnom = 4×3
1 2 3
4 5 6
7 8 9
10 11 12
By default, the weighting matrices are the identity. For example, examine the left weighting.
m.WL
ans = 4×4
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Sample the uncertain matrix, and compare to the nominal value. Note the elementbyelement sizes of the difference are roughly equal, indicative of the identity weighting matrices.
msamp = usample(m); diff = abs(msampmnom)
diff = 4×3
0.3309 0.0917 0.2881
0.2421 0.3449 0.3917
0.2855 0.2186 0.2915
0.3260 0.2753 0.3816
Change the left and right weighting matrices, making the uncertainty larger as you move down the rows, and across the columns.
m.WL = diag([0.2 0.4 0.8 1.6]); m.WR = diag([0.1 1 4]);
Sample the uncertain matrix again, and compare to the nominal value. Note the elementbyelement sizes of the difference, and the general trend that the smallest differences are near the (1,1) element, and the largest differences are near the (4,3) element, consistent with the trend in the diagonal weighting matrices.
msamp = usample(m); diff = abs(msampmnom)
diff = 4×3
0.0048 0.0526 0.2735
0.0154 0.1012 0.4898
0.0288 0.3334 0.8555
0.0201 0.4632 1.3783