Uncertain state-space model
Use uss
model objects to represent uncertain dynamic systems.
The two dominant forms of model uncertainty are:
Uncertainty in parameters of the underlying differential equation models (uncertain state-space matrices)
Frequency-domain uncertainty, which often quantifies model uncertainty by describing absolute or relative uncertainty in the frequency response (uncertain or unmodeled linear dynamics)
uss
model objects can represent dynamic systems with either or both
forms of uncertainty. You can use uss
to perform robust stability and
performance analysis and to test the robustness of controller designs.
There are several ways to create a uss
model object,
including:
Use tf
with one or more uncertain real parameters
(ureal
). For example:
p = ureal('p',1);
usys = tf(p,[1 p]);
For another example, see Transfer Function with Uncertain Coefficients.
Use ss
with uncertain state-space matrices
(umat
). For example:
p = ureal('p',1);
A = [0 3*p; -p p^2];
B = [0; p];
C = ones(2);
D = zeros(2,1);
usys = ss(A,B,C,D);
For another example, see Uncertain State-Space Model.
Combine numeric LTI models with uncertain elements using model interconnection
commands such as connect
, series
, or
parallel
, or model arithmetic operators such as *, +,
or -. For example:
sys = tf(1,[1 1]); p = ureal('p',1); D = ultidyn('Delta',[1 1]); usys = p*sys*(1 + 0.1*D);
For another example, see System with Uncertain Dynamics.
Convert a double array or a numeric LTI model to uss
form
using usys = uss(sys)
. In this case, the resulting
uss
model object has no uncertain elements. For
example:
M = tf(1,[1 1 1]); usys = uss(M);
Use ucover
to create a
uss
model whose range of possible frequency responses
includes all responses in an array of numeric LTI models. The resulting model
expresses the range of behaviors as dynamic uncertainty
(ultidyn
).
Most functions that work on numeric LTI models also work on uss
models. These include model interconnection functions such as
connect
and feedback
, and linear analysis
functions such as bode
and stepinfo
. Some
functions that generate plots, such as bode
and
step
, plot random samples of the uncertain model to give you a
sense of the distribution of uncertain dynamics. When you use these commands to return
data, however, they operate on the nominal value of the system only.
In addition, you can use functions such as robstab
and
wcgain
to perform robustness and worst-case analysis of
uncertain systems represented by uss
models. You can also use tuning
functions such as systune
for robust controller tuning.
The following lists contain a representative subset of the functions you can use with
uss
models.