The file Demo_001.m is found in IQClab’s folder demos. This demo performs a – and IQC-robustness analysis for an uncertain plant that is affected by LTI parametric uncertainties. Here it is possible to vary several inputs:
- The uncertainty block:
- One parametric uncertainty that is repeated twice, or
- Two different parametric uncertainties that are repeated once
- Relaxation type:
- DG-scalings
- Convex hull relaxation
- Partial convexity
- Zeroth order Poyla relaxation
- Performance metric:
- Induced
-gain
-norm
- Robust stability test
- Induced
The uncertain system is given by with the open-loop LTI plant
, where
,
,
,
,
while:
for Option 3.1 and Option 3.3,
for Option 3.2.
On the other hand, the uncertainty block is defined by:
with
, for Option 1.1, or
with
,
for Option 1.2.
The demo file Demo_001.m allows to run an IQC-analysis for various values of and within the file one can change the inputs mentioned above. For illustration purposes, the following 5 lines of code specify an IQC-analysis for the uncertain plant
,
for
and the induced
-gain as performance metric. In addition, the following parameters are considered:
- Relaxation type: ‘CH’ (Option 2.2)
- Length of the basis function: 2
- Solution check: ‘on’
- Enforce strictness of the LMIs:
% Define uncertain plant M = ss([-2,-3;1,1],[1,0,1;0,0,0],[1,0;0,0;1,0],[1,-2,0;1,-1,1;0,1,0]); % Define uncertainty block de = iqcdelta('de','InputChannel',1:2,'OutputChannel',1:2,'Bounds',[-0.5,0.5]); % Assign IQC-multiplier to uncertainty block de = iqcassign(de,'ultis','Length',3,'RelaxationType','CH'); % Define performance block pe = iqcdelta('pe','ChannelClass','P','InputChannel',3, 'OutputChannel',3,'PerfMetric','L2'); % Perform IQC-analysis prob = iqcanalysis(M,{de,pe},'SolChk','on','eps',1e-8);
To continue, if running the IQC analysis in Demo_001.m for
(Option 1.1)
- Convex hull relaxation (Option 2.2)
- Induced
-gain performance (Option 3.1)
you obtain as output the worst-case induced -gain for increasing values of
computed by the
-tools (command: wcgain) and the IQC-tools for different lengths of the basis function. This yields the results shown in the following figure. As can be seen, the IQC-analysis produces worst-case induced
-gains (i.e.
-norms in this example), which are consisted with the
-analysis. For static multipliers (case:
, red dashed-line) the
-level increases faster than the others, at the benefit of a lower computational load. On the other hand, for basis-lengths larger than
, the results coincide the
-analysis up to values of
. Choosing higher basis-lengths would allow to converge even further.


