Nominal value of uncertain model
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.
M
— Uncertain model or matrixUncertain 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.
Mnom
— Nominal model or matrixNominal 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
.
You have a modified version of this example. Do you want to open this example with your edits?