The file *Demo_003.m* is found in the IQClab’s folder *demos*. This demo performs a – and IQC-robustness analysis for an uncertain plant that is affected by a delay uncertainty. Here it is possible to vary several inputs:

- xtrIQC
- Use the standard IQC-multiplier, or
- Use an extended one with an additional IQC-constraint

- Performance metric
- Induced -gain
- Robust stability test

The following uncertain plant was taken from [15].

% Define plant s = tf('s'); G = ss(4/(s^2+0.1*s+1)); Gd = ss(10/(s+0.1)); We = 2/3*ss((s+3.674)^2/(s+0.03)^2); Wu = ss((s+10)/(s+1e4)); systemnames = 'G Gd'; inputvar = '[p;d;r;u]'; outputvar = '[Gd;r-p-Gd;u;r-p-Gd]'; input_to_G = '[u]'; input_to_Gd = '[G+d]'; cleanupsysic = 'yes'; olic = sysic; wolic = ssbal(blkdiag(1,We,Wu,1)*olic); [K,CL,gamma] = hinfsyn(wolic(2:end,2:end),1,1); M = minreal(lft(wolic,K));

In this demo, we assume that the uncertainty block is defined by the with and being the maximum time-delay.

The demo file *Demo_003.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 4 lines of code specify an IQC-analysis for the uncertain plant , with and , and the induced -gain as performance metric. In addition, the following parameters are considered:

- Length of the basis function: 3
- Extra IQC-constraint: ‘yes’
- Solution check: ‘on’
- Enforce strictness of the LMIs:

% M as above % Define uncertainty block de = iqcdelta('de','InputChannel',1,'OutputChannel',1, 'StaticDynamic','D','DelayType',1,'DelayTime',0.04); % Assign IQC-multiplier to uncertainty block de = iqcassign(de,'udel','Length',3 ,'AddIQC','yes'); % Define performance block pe = iqcdelta('pe','ChannelClass','P','InputChannel',2, 'OutputChannel',2,'PerfMetric','L2'); % Perform IQC-analysis prob = iqcanalysis(M,{de,pe},'SolChk','on','eps',1e-8);

If running the IQC analysis in *Demo_003.m* for

- xtrIQC: ‘No’ (Option 1.1)
- Induced -gain performance (Option 2.1)

you obtain 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. As can be seen, the IQC-analysis produces worst-case induced -gains (i.e., -norms in this example), which identical to the -analysis. In addition, dynamic IQC-multipliers seem not to have an advantage over static ones.

For comparison reasons, if running the IQC analysis in Demo_003.m for

- xtrIQC: ‘Yes’ (Option 1.2)
- Induced -gain performance (Option 2.1)

the IQC-analysis clearly offers an advantage over the -analysis at the cost of an extra computational load. This can be seen in the following figure.