Next to performing the more “conventional” IQC-based analyses with the function iqcanalysis, it is also possible to perform invariance analyses with dynamic IQCs as was recently pointed out in, for example, [21], [22], among others.
Along the lines of [21], IQClab now includes various tests that can be performed by means of the new function iqcinvariance.
There are several options that can be considered as further discussed next.
Energy to State (option
)
As a first application, we consider one of the most common examples for regional analysis, namely the computation of invariant sets in the state-space under the assumption that the external disturbances
are bounded in energy.
Given the uncertain plant
![]()
![]()
![]()
This option can be selected by specifying the performance metric option ‘e2x’ (energy to state) to the performance block.
As output you obtain:
– ![]()
– ![]()
Energy to Output (option
)
Similarly, one might wish to compute invariant sets for the output
, again under the assumption that the external disturbances
are bounded in energy.
Given the uncertain plant
![]()
![Rendered by QuickLaTeX.com \[\begin{array}{l}\dot{x}=Ax+B_1p+B_2w,\ \ \ \ x(0)=0\\q = C_1x+D_{11}p+D_{12}w\\z = C_2x\end{array}\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-1f90b1e86716d37132f6519626a13029_l3.png?media=1702023987)
![]()
This option can be selected by specifying the performance metric option ‘e2z’ (energy to output) to the performance block.
As output you obtain:
–
–
Energy to Peak (option
)
In practical applications, one might also be interested in bounds on the individual components of
,
, which can be interpreted as providing guaranteed bounds on the energy to-peak gain for the performance channels
,
. This leads to the third test.
Given the uncertain plant
![]()
![Rendered by QuickLaTeX.com \[\begin{array}{l}\dot{x}=Ax+B_1p+B_2w,\ \ \ \ x(0)=0\\q = C_1x+D_{11}p+D_{12}w\\z = C_2x\end{array}\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-1f90b1e86716d37132f6519626a13029_l3.png?media=1702023987)
![]()
This option can be selected by specifying the performance metric option ‘e2p’ (energy to peak) to the performance block.
As output you obtain the peak gain (PeakGain):
–
State to Output (option
)
Another useful test is the possibility to compute invariant sets for the output
for a given non-zero initial condition
that may have both zero as well as non-zero elements
For example,
might be a unit vector
) with the non-zero element being an initial position or velocity. More than one non-zero element is also possible.
Consider the uncertain plant
![]()
![Rendered by QuickLaTeX.com \[\begin{array}{l}\dot{x}=Ax+B_1p,\ \ \ \ x(0)=x_0\\q = C_1x+D_{11}p\\z = C_2x\end{array}\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-041634bb0d9d8b9fab8ea45893f8efba_l3.png?media=1702023987)
Inputs to be provided:
–
–
Note: These two matrices enforce the constraint
Given the plant and the matrices
![]()
This option can be selected by specifying the performance metric option ‘x2z’ (state to output) to the performance block.
As output you obtain:
–
–
State to Peak (option
)
Next, we bound the individual components of
,
for a given non-zero initial condition
that may have (as above) both zero as well as non-zero elements.
Consider the uncertain plant
![]()
![Rendered by QuickLaTeX.com \[\begin{array}{l}\dot{x}=Ax+B_1p,\ \ \ \ x(0)=x_0\\q = C_1x+D_{11}p\\z = C_2x\end{array}\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-041634bb0d9d8b9fab8ea45893f8efba_l3.png?media=1702023987)
Inputs to be provided:
Given the plant and the matrices
the peak gains
![]()
This option can be selected by specifying the performance metric option ‘x2p’ (state to peak) to the performance block.
As output you obtain:
–
Application
The application proceeds in exactly the same fashion as the function iqcanalysis. Once all uncertainty blocks have been defined and all IQC-multipliers have been assigned, one can proceed by performing the invariance analysis by means of the function iqcinvariance:
![]()
![]()
For the options
and
the matrices
(default is
.), and
(default is
.) can be specified as follows:
![]()
