# robstab

Robust stability of uncertain system

## Syntax

## Description

`[`

calculates the robust
stability margin for an uncertain system. This stability margin is
relative to the uncertainty level specified in `stabmarg`

,`wcu`

]
= robstab(`usys`

)`usys`

.
A robust stability margin greater than 1 means that the system is
stable for all values of its modeled uncertainty. A robust stability
margin less than 1 means that the system becomes unstable for some
values of the uncertain elements within their specified ranges. For
example, a margin of 0.5 implies the following:

`usys`

remains stable as long as the uncertain element values stay within 0.5 normalized units of their nominal values.There is a destabilizing perturbation of size 0.5 normalized units.

The structure `stabmarg`

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

contains
the destabilizing values of the uncertain elements.

`[`

restricts
the robust stability margin computation to the frequencies specified
by `stabmarg`

,`wcu`

]
= robstab(`usys`

,`w`

)`w`

.

If

`w`

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

, then`robstab`

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

and`wmax`

.If

`w`

is a vector of frequencies, then`robstab`

computes the robust stability margin at the specified frequencies only.

`[`

specifies
additional options for the computation. Use `stabmarg`

,`wcu`

]
= robstab(___,`opts`

)`robOptions`

to
create `opts`

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

## Examples

## Input Arguments

## Output Arguments

## Algorithms

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, `robstab(usys)`

and `robstab(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, `robstab`

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 `robstab(uss,w)`

,
where `w`

is a vector of frequency points, is the
same as `robstab(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.

## See Also

`robgain`

| `robOptions`

| `wcgain`

| `mussv`

| `actual2normalized`

| `normalized2actual`

| `uscale`

**Introduced in R2016b**