# getNominal

Nominal value of uncertain model

## Syntax

``Mnom = getNominal(M)``

## Description

example

````Mnom = getNominal(M)` replaces all uncertain elements in `M` with their nominal values. All other control design blocks in `M` are unchanged.```

## Examples

collapse all

Create a model of a mass-spring-damper system in which the mass, spring constant, and damping constant are all uncertain.

```m = ureal('m',3,'percent',40); k = ureal('k',2,'percent',30); c = ureal('c',1,'percent',20); G = tf(1,[m,c,k])```
```G = Uncertain continuous-time state-space model with 1 outputs, 1 inputs, 2 states. The model uncertainty consists of the following blocks: c: Uncertain real, nominal = 1, variability = [-20,20]%, 1 occurrences k: Uncertain real, nominal = 2, variability = [-30,30]%, 1 occurrences m: Uncertain real, nominal = 3, variability = [-40,40]%, 1 occurrences Type "G.NominalValue" to see the nominal value, "get(G)" to see all properties, and "G.Uncertainty" to interact with the uncertain elements. ```

`G` is a `uss` model. Extract its nominal value.

`Gnom = getNominal(G);`

Because `G` has only uncertain control design blocks, `Gnom` is a numeric state-space (`ss`) model.

Combine `G` with a tunable PID controller.

```C = tunablePID('C','pid'); T = feedback(G*C,1)```
```T = Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks: C: Tunable PID controller, 1 occurrences. c: Uncertain real, nominal = 1, variability = [-20,20]%, 1 occurrences k: Uncertain real, nominal = 2, variability = [-30,30]%, 1 occurrences m: Uncertain real, nominal = 3, variability = [-40,40]%, 1 occurrences Type "ss(T)" to see the current value, "get(T)" to see all properties, and "T.Blocks" to interact with the blocks. ```

`T` is a generalized state-space (`genss`) model that has both tunable and uncertain blocks. Extract the nominal value of `T`.

`Tnom = getNominal(T)`
```Tnom = Generalized continuous-time state-space model with 1 outputs, 1 inputs, 3 states, and the following blocks: C: Tunable PID controller, 1 occurrences. Type "ss(Tnom)" to see the current value, "get(Tnom)" to see all properties, and "Tnom.Blocks" to interact with the blocks. ```

Extracting the nominal value of `T` preserves the tunable control design block, resulting in another `genss` model.

## Input Arguments

collapse all

Uncertain model or matrix, specified as a dynamic system model or static model. Typically, `M` is a model that contains uncertainty, such as a `uss`, uncertain `genss`, or `umat` model.

## Output Arguments

collapse all

Nominal value of `M`, returned as a dynamic system model or static model. `Mnom` has no uncertain blocks.

The model type of `Mnom` depends on the type of `M`. For example, if `M` is a `genss` model with uncertain blocks and tunable blocks, then `Mnom` is a `genss` model with tunable blocks.

If `M` contains no control design blocks other than uncertain blocks, then `Mnom` is a state-space (`ss`) model, an `frd` model, or a numeric array, depending on the type of `M`. For example, if `M` is a `uss` model, then `Mnom` is a `ss` model. If `M` is a `umat`, then `Mnom` is a numeric array.

If `M` has no uncertain blocks, then `Mnom` = `M`.

## Version History

Introduced in R2015b