Documentation

### This is machine translation

Mouseover text to see original. Click the button below to return to the English version of the page.

# ultidyn

Create uncertain linear time-invariant object

## Syntax

```H = ultidyn('Name',iosize)
H = ultidyn('Name',iosize,'Property1',Value1,'Property2',Value2,...)
```

## Description

`H = ultidyn('Name',iosize)` creates an uncertain linear, time-invariant objects are used to represent unknown dynamic objects whose only known attributes are bounds on their frequency response. Uncertain linear, time-invariant objects have a name (the `Name` property), and an input/output size (`ioSize` property).

Trailing Property/Value pairs are allowed in the construction.

`H = ultidyn('name',iosize,'Property1',Value1,'Property2',Value2,...)`

The property `Type` is `'GainBounded'` (default) or `'PositiveReal'`, and describes in what form the knowledge about the object's frequency response is specified.

• If `Type` is `'GainBounded'`, then the knowledge is an upper bound on the magnitude (i.e., absolute value), namely `abs(H)<= Bound` at all frequencies. The matrix generalization of this is ∥`H``<= Bound`.

• If `Type` is `'PositiveReal'` then the knowledge is a lower bound on the real part, namely `Real(H) >= Bound` at all frequencies. The matrix generalization of this is `H+H' >= 2*Bound`

The property `Bound` is a real, scalar that quantifies the bound on the frequency response of the uncertain object as described above.

The property `SampleStateDimension` is a positive integer, defining the state dimension of random samples of the uncertain object when sampled with `usample`. The default value is 1.

The property `AutoSimplify` controls how expressions involving the uncertain matrix are simplified. Its default value is` 'basic'`, which means elementary methods of simplification are applied as operations are completed. Other values for `AutoSimplify` are` 'off'`, no simplification performed, and` 'full'` which applies model-reduction-like techniques to the uncertain object.

Use the property `SampleMaxFrequency` to limit the natural frequency for sampling. Randomly sampled uncertain dynamics are no faster than the specified value. The default value is `Inf` (no limit).

To model frequency-dependent uncertainty levels, multiply the `ultidyn` object by a suitable shaping filter. For example, for a `ultidyn` object `dH`, the following commands specify an uncertainty bound that increases from 0.1 at low frequencies to 10 at high frequencies.

```W = tf([1 .1],[.1 1]); dH = W*dH;```

## Examples

### MIMO Uncertain Dynamics

Create an `ultidyn` object with internal name `'H'`, dimensions `2-by-3`, norm bounded by `7`.

```H = ultidyn('H',[2 3],'Bound',7) ```
```Uncertain GainBounded LTI Dynamics: Name H, 2x3, Gain Bound = 7 ```

### Nyquist Plot of Uncertain Dynamics

Create a scalar `ultidyn` object with an internal name `'B'`, whose frequency response has a real part greater than 2.5.

`B = ultidyn('B',[1 1],'Type','PositiveReal','Bound',2.5)`
```B = Uncertain LTI dynamics "B" with 1 outputs, 1 inputs, and positive real bound of 2.5. ```

Change the `SampleStateDimension` to 5, and plot the Nyquist plot of 30 random samples.

```B.SampleStateDimension = 5; nyquist(usample(B,30))```  