Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Robust performance of uncertain system

```
[perfmarg,wcu]
= robgain(usys,gamma)
```

```
[perfmarg,wcu]
= robgain(usys,gamma,w)
```

```
[perfmarg,wcu]
= robgain(___,opts)
```

```
[perfmarg,wcu,info]
= robgain(___)
```

`[`

calculates
the robust performance margin for an uncertain system and the performance
level `perfmarg`

,`wcu`

]
= robgain(`usys`

,`gamma`

)`gamma`

. The performance of `usys`

is
measured by its peak gain or peak singular value (see Robustness and Worst-Case Analysis).
The performance margin is relative to the uncertainty level specified
in `usys`

. A margin greater than 1 means that the
gain of `usys`

remains below `gamma`

for
all values of the uncertainty modeled in `usys`

.
A margin less than 1 means that at some frequency, the gain of `usys`

exceeds `gamma`

for
some values of the uncertain elements within their specified ranges.
For example, a margin of 0.5 implies the following:

The gain of

`usys`

remains below`gamma`

as long as the uncertain element values stay within 0.5 normalized units of their nominal values.There is a perturbation of size 0.5 normalized units that drives the peak gain to the level

`gamma`

.

The structure `perfmarg`

contains upper and
lower bounds on the actual performance margin and the critical frequency
at which the margin upper bound is smallest. The structure `wcu`

contains
the uncertain-element values that drive the peak gain to the level `gamma`

.

`[`

assesses
the robust performance margin for the frequencies specified by `perfmarg`

,`wcu`

]
= robgain(`usys`

,`gamma`

,`w`

)`w`

.

If

`w`

is a cell array of the form`{wmin,wmax}`

, then`robgain`

restricts the performance margin computation to the interval between`wmin`

and`wmax`

.If

`w`

is a vector of frequencies, then`robgain`

computes the performance margin at the specified frequencies only.

`[`

specifies
additional options for the computation. Use `perfmarg`

,`wcu`

]
= robgain(___,`opts`

)`robOptions`

to
create `opts`

. You can use this syntax with any
of the previous input-argument combinations.

Computing the robustness margin at a particular frequency is
equivalent to computing the structured singular value, *μ*,
for some appropriate block structure (*μ*-analysis).

For `uss`

and `genss`

models, `robgain(usys)`

and `robgain(usys,{wmin,wmax})`

use
an algorithm that finds the smallest margin across frequency. This
algorithm does not rely on frequency gridding and is not adversely
affected by discontinuities of the *μ* structured
singular value. See Getting Reliable Estimates of Robustness Margins for
more information.

For `ufrd`

and `genfrd`

models, `robgain`

computes
the *μ* lower and upper bounds at each frequency
point. This computation offers no guarantee between frequency points
and can be inaccurate if there are discontinuities or sharp peaks
in *μ*. The syntax `robgain(uss,w)`

,
where `w`

is a vector of frequency points, is the
same as `robgain(ufrd(uss,w))`

and also relies on
frequency gridding to compute the margin.

In general, the algorithm for state-space models is faster and
safer than the frequency-gridding approach. In some cases, however,
the state-space algorithm requires many *μ* calculations.
In those cases, specifying a frequency grid as a vector `w`

can
be faster, provided that the robustness margin varies smoothly with
frequency. Such smooth variation is typical for systems with dynamic
uncertainty.

`robOptions`

| `robstab`

| `wcgain`