getNominal

Nominal value of uncertain model

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: Parametric 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: Parametric 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.

See Also

| |

Introduced in R2015b