IQClab now incorporates a novel method for data-driven refinement of parametric uncertainty descriptions, based on the approach presented in [28]. Specifically, for dynamical systems that admit a linear fractional representation involving LTI and LTV parametric uncertainties, the method leverages finite-horizon input–state or input–output data collected from the real system. The LMI/IQC-based approach iteratively tightens the bounds on time-invariant parametric uncertainties. These refined bounds enable a more accurate reassessment of the system’s robustness — since narrower uncertainty ranges directly improve robustness margins — and facilitate controller enhancement by allowing controllers to be resynthesized or recalibrated for improved performance.
The refinement can be performed by means of the function
![]()
![Rendered by QuickLaTeX.com \[N(\Delta,\nabla)=\left(\begin{array}{cc}\Delta&0\\ 0&\nabla\end{array}\right)\star\left(\begin{array}{cccc}M_{zw}&M_{zp}&M_{zn}&M_{zr}\\ M_{qw}&M_{qp}&M_{qn}&M_{qr}\\M_{yw}&M_{yp}&M_{yn}&M_{yr}\end{array}\right)\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-6350d6c1f6c6f799908d1fa4e19978a5_l3.png?media=1702023987)
![Rendered by QuickLaTeX.com \[\left(\begin{array}{c}x(t+1)\\z(t)\\q(t)\\y(t)\end{array}\right)=\left(\begin{array}{ccccc}A&B_{w}&B_{p}&B_{n}&B_{r}\\C_z&D_{zw}&D_{zp}&D_{zn}&D_{zr}\\ C_q&D_{qw}&D_{qp}&D_{qn}&D_{qr}\\C_y&D_{yw}&D_{yp}&D_{yn}&D_{yr}\end{array}\right)\left(\begin{array}{c}x(t)\\w(t)\\p(t)\\n(t)\\r(t)\end{array}\right)\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-d2b16689afd5e216b4fff9199ef9cb59_l3.png?media=1702023987)
is the uncertainty block consisting of LTI parametric uncertainties whose bounds are to be refined, and
is an (optional) LTV (or LTI) parametric uncertainty block whose bounds are NOT to be refined.
More precisely,
is a diagonal matrix with (repeated) time invariant parametric uncertainties
![]()
![Rendered by QuickLaTeX.com \[\nabla(\alpha)=\sum_{j=1}^{\kappa}\alpha_jH_j=\alpha_iH_1+,\cdots,+\alpha_\kappa H_\kappa.\]](https://usercontent.one/wp/www.iqclab.eu/wp-content/ql-cache/quicklatex.com-3c06d1598e865d33c0e6bb4f2abfff5d_l3.png?media=1702023987)
The parameter refinement proceeds as follows:
- Define the uncertain plant
(being an LFT object defined by means of the tools available in the Robust Control Toolbox of MATLAB). - Collect data from the real system and generate the structure
containing the following signals:
: The input vector
.
: The output vector
(only required for
‘IOdata’ see details below).
The state vector
(only required for
‘ISdata’ see details below).
: The maximum noise magnitude
for all
.
- Provide the cell
that are to be refined. The order is not important and the remaining parameters in the uncertain plant
are treated as part of the LTV uncertainties
. - Specify the preferred options in the structure ‘opts’. The available options are summarized in the following table.
| Options | Description |
| Case | Specify the algorithm to be used. There are two options: 1.) ‘IOdata’ to refine the parameter bounds using input–output data corresponding to Theorem 2,3 of [28] (default). 2.) ‘ISdata’ to refine the parameter bounds using input–state data corresponding to Theorem 1 of [28]. Note: in case of option ‘ISdata’ it is assumed that the output equation of the LFT |
| nlift | The underlying algorithms solve the parameter refinement problem for each data point sequentially. However, it is possible to consider multiple data points as well by lifting the underlying system. To do so, one can specify the lifting horizon |
| DGstruct | Specify the underlying structure of the 1.) ‘full’ for unstructured 2.) ‘struct’ (default) for structured .3.) ‘diag’ for diagonal See [28] and Remark 5 therein for further details. |
| Sx | This is the initial state ellipsoidal shape (default is |
| cx | This is the initial state ellipsoidal center (default is |
| Parser | Select the parser ‘LMIlab’ (default) or ‘Yalmip’. |
| Solver | Select the solver. This is ‘mincx’ in case if ‘LMIlab’ is selected as parser and any (installed) SPD solver supported by Yalmip (e.g., sdpt3). |
| RelAcc | This specifies the solver’s relative accuracy (default is |
| MaxNumIter | This specifies the solver’s maximum number of iterations (default is |
| FeasRad | This specifies the solver’s feasibility radius (default is |
| Terminate | This specifies the solver’s terminal condition (default is |
| eps | This perturbs all LMIs by a small |
As output, one obtains:
- The refined system (i.e., LFT)
with
,
. - The cell ‘RefinedBounds’ with the computed bounds
,
obtained after each iteration.
Demonstrating example
A demonstration of this function is found here.

.