Create uncertain complex matrix
M = ucomplexm('Name',NominalValue) M = ucomplexm('Name',NominalValue,'WL',WLvalue,'WR',WRvalue) M = ucomplexm('Name',NominalValue,'Property',Value)
M = ucomplexm('Name',NominalValue) creates an uncertain complex matrix representing a ball of complex-valued matrices, centered at a
NominalValue and named
M = ucomplexm('Name',NominalValue,'WL',WLvalue,'WR',WRvalue) creates an uncertain complex matrix with weights
WR. Specifically, the values represented by
M are all matrices
H that satisfy
norm(inv(M.WL)*(H - M.NominalValue)*inv(M.WR)) <= 1. WL and
WR are square, invertible, and weighting matrices that quantify the size and shape of the ball of matrices represented by this object. The default values for
WR are identity matrices of appropriate dimensions.
Trailing Property/Value pairs are allowed, as in
M = ucomplexm('NAME',nominalvalue,'P1',V1,'P2',V2,...)
AutoSimplify controls how expressions involving the uncertain matrix are simplified. Its default value is
'basic', which means elementary methods of simplification are applied as operations are completed. Other values for
'off'', no simplification performed, and
'full' which applies model-reduction-like techniques to the uncertain object.
Sample an Uncertain Complex Matrix
ucomplexm with the name
F, nominal value
[1 2 3; 4 5 6], and weighting matrices
WL = diag([.1.3]),
WR = diag([.4 .8 1.2]).
F = ucomplexm('F',[1 2 3;4 5 6],'WL',diag([.1 .3]),... 'WR',diag([.4 .8 1.2]))
F = Uncertain complex matrix "F" with 2 rows and 3 columns.
Sample the difference between the uncertain matrix and its nominal value at 80 points, yielding a 2-by-3-by-80 matrix
typicaldev = usample(F - F.NominalValue,80);
Plot histograms of the deviations in the (1,1) entry and the (2,3) entry of the complex matrix.
The absolute values of the (1,1) entry and the (2,3) entry are shown by histogram plots. Typical deviations in the (1,1) entry should be about 10 times smaller than the typical deviations in the (2,3) entry.
subplot(2,1,1); td11 = squeeze(typicaldev(1,1,:)); hist(abs(td11)); xlim([0 .25]) title('Sampled F(1,1) - F(1,1).NominalValue') subplot(2,1,2); td23 = squeeze(typicaldev(2,3,:)); hist(abs(td23)); title('Sampled F(2,3) - F(2,3).NominalValue')