# getLimits

Validity range for uncertain real (`ureal`) parameters

## Syntax

``[ActLims,NormLims] = getLimits(ublk)``

## Description

When the uncertainty range of a `ureal` parameter is not centered at its nominal value, there are restrictions on the range of values the parameter can take. For robust stability analysis, these restrictions mean that the smallest destabilizing perturbation of the parameter may be out of the reach of the specified `ureal` model. Use `getLimits` to find out the range of actual and normalized values that a ureal parameter can take.

example

````[ActLims,NormLims] = getLimits(ublk)` computes the intervals of actual and normalized values that an uncertain real parameter can take. For meaningful analysis results, the actual and normalized values of `ublk` must remain in these intervals. Values outside these intervals are essentially meaningless. In other words, `ActLims` and `NormLims` are the ranges of validity of the uncertainty model for real parameters. ```

## Examples

collapse all

Create a `ureal` uncertain parameter with range centered at the nominal value.

`ublk = ureal('a',1,'range',[-1 3])`
```ublk = Uncertain real parameter "a" with nominal value 1 and range [-1,3]. ```

For such a parameter, b = 0 (see Algorithms), so there is no constraint on the values that the actual uncertainty (`ublk`) and the normalized uncertainty (Δ) can take. Use `getLimits` to confirm the ranges of the actual and normalized uncertainty.

`[ActLims,NormLims] = getLimits(ublk)`
```ActLims = 1×2 -Inf Inf ```
```NormLims = 1×2 -Inf Inf ```

Skew the uncertainty range to the right of the nominal value (DL < DR).

`ublk.PlusMinus = [-1 2] `
```ublk = Uncertain real parameter "a" with nominal value 1 and range [0,3]. ```

Now, the values that `ublk` and Δ can take for analysis purposes are limited.

`[ActLims,NormLims] = getLimits(ublk)`
```ActLims = 1×2 -3.0000 Inf ```
```NormLims = 1×2 -Inf 3 ```

## Input Arguments

collapse all

Uncertain real parameter, specified as a `ureal` object.

## Output Arguments

collapse all

Limits on the actual uncertainty range taken by `ublk` for analysis purposes, returned as a 2-element vector of the form `[min,max]`. When the uncertainty range specified in `ublk` is centered on the nominal value, `ActLims` = `-Inf,Inf`.

Limits on the normalized uncertainty range of `ublk` used for analysis purposes, returned as a 2-element vector of the form `[min,max]`. When the uncertainty range specified in `ublk` is centered on the nominal value, `NormLims` = `-Inf,Inf`.

## Algorithms

Analysis functions such as `robstab` and `robgain` model uncertain real parameters as:

`$u={u}_{nom}+\frac{a\Delta }{1-b\Delta },\text{ }a>0,$`

where u is the actual value, unom is the nominal value, and Δ is the normalized value. When the uncertainty range is centered at the nominal value, there are no restrictions on the values u or Δ can take. However, when the uncertainty range is skewed, there are limitations on these values. To ensure continuity, the analysis functions restrict the values Δ and u to the ranges:

`$\begin{array}{l}\Delta <\frac{1}{|b|},\text{\hspace{0.17em}}\text{\hspace{0.17em}}u>\left({u}_{nom}-|\frac{a}{b}|\right),\text{\hspace{0.17em}}\text{for}\text{\hspace{0.17em}}DL-\frac{1}{|b|},\text{\hspace{0.17em}}\text{\hspace{0.17em}}u<\left({u}_{nom}+|\frac{a}{b}|\right),\text{\hspace{0.17em}}\text{for}\text{\hspace{0.17em}}DL`

where DL and DR define the uncertainty range of u, [unomDL,unom+DR]. Note that b and DRDL always have the same sign. 