Uncertain State Space
Simulate uncertain system in Simulink
Libraries:
Robust Control Toolbox
Description
The Uncertain State Space block lets you model parametric and dynamic uncertainty in
Simulink®. The block accepts uncertain state space (uss
) models or any model that can be converted to uss
, such as
umat
, ureal
, umargin
, and
ultidyn
objects.
Examples
Simulate Uncertain Model at Sampled Parameter Values
Simulate an uncertain model in Simulink® using the Uncertain State Space block. You can sample uncertain parameters at specified values or generate random samples. The MultiPlot Graph block lets you visualize the responses of multiple samples on the same plot.
Vary Uncertain Values Across Multiple Uncertain Blocks
For models with a large number of uncertain variables or multiple Uncertain State Space blocks, you can vary multiple uncertainty values simultaneously.
Ports
Input
Port_1(In1) — Input signal
scalar | vector
For a single-input uncertain system, the input signal is a scalar. For multiple-input systems, combine the system inputs into a vector signal, using blocks such as:
Mux (Simulink)
Vector Concatenate (Simulink)
Bus Creator (Simulink)
Output
Port_1(Out1) — Output signal
scalar | vector
For a single-output uncertain system, the output signal is a scalar. For multiple-output systems, the output signal is a vector. To split system outputs into scalar signals, use blocks such as:
Demux (Simulink)
Bus Selector (Simulink)
Parameters
Uncertain system variable (uss) — Uncertain system
ss(ureal('a',-5),5,1,1)
(default) | uss
model | model or element that can be converted to uss
Specify the uncertain model to simulate as uss
object using one
of the following:
Function or expression that evaluates to an
uss
object. For example:ss(ureal('a',-5),5,1,1)
wt*input_unc
, whereinput_unc
is anultidyn
object andwt
andinput_unc
are defined in the MATLAB® workspace.
Variable defined in the MATLAB workspace. For example,
unc_sys
, where you defineunc_sys
=ss(ureal('a',-5),5,1,1)
in the workspace.Model of any type that can be converted to a
uss
model object. For example:LTI models (
tf
,zpk
andss
)Uncertain matrix (
umat
)Uncertain real parameters (
ureal
)Uncertain dynamics (
ultidyn
,umargin
)
When the block is in a model with synchronous state control (see the State Control (HDL Coder) block), you must specify a discrete-time model.
Programmatic Use
Block Parameter:
USystem |
Type:
uss model, model that can be converted to
uss |
Default:
ss(ureal('a',-5),5,1,1) |
Uncertainty value (struct or [] to use nominal value) — Values to substitute for uncertain variables
[]
(default) | structure
The uss
model that you specify in the Uncertain system variable (uss) parameter depends on uncertain variables
such as ureal
or ultidyn
uncertainty. To
simulate or linearize the uncertain model, the block must replace these uncertain
variables with fixed values. Use this parameter to specify those fixed values for the
next simulation or linearization. Use a structure whose fields are the names of the
uncertain elements in the uss
model and whose values are the substitute
values of those elements. For example:
If the
uss
model has uncertain real (ureal
) parameters with namesa
andb
, then setting this parameter tostruct('a',1,'b',3.5)
replacesa
with 1b
with 3.5.If the
uss
model has dynamic uncertainty represented by aultidyn
element named'delta'
, then setting this parameter tostruct('delta',tf(1,[1 1]))
replaces the uncertain dynamics with the specified transfer function.
To generate randomized values of uncertain variables for Monte Carlo simulation, use
ufind
and usample
, as shown in the examples
Simulate Uncertain Model at Sampled Parameter Values and
Vary Uncertain Values Across Multiple Uncertain Blocks.
The default value []
sets all uncertain elements to their nominal
values. Note that the nominal value of ultidyn
uncertain dynamics is
always 0, and the nominal value of umargin
gain and phase uncertainty
is always 1.
Programmatic Use
Block Parameter:
UValue |
Type: structure |
Default:
[] |
Initial states (nominal dynamics) — Initial state values of nominal system
[]
(default) | vector
If the nominal value of the uncertain system you specify in the Uncertain
system variable (uss) parameter has dynamics, you can use this parameter to
specify initial values for those states. Specify the initial states as a vector having
as many entries as there are states. The default value of []
initializes all states to 0.
Programmatic Use
Block Parameter:
X0 |
Type: scalar, vector |
Default:
[] |
Initial states (uncertain dynamics) — Initial state values for uncertain dynamics
[]
| vector
If the uncertain system contains some dynamic uncertainty
(ultidyn
or umargin
), then you can use the
Uncertainty value (struct or [] to use nominal value) parameter
to replace that uncertainty with specific dynamics for simulation. Use the
Initial states (uncertain dynamics) parameter to specify the
initial state of these dynamics. Specify the initial states as a vector having as many
entries as there are states. The default value of []
initializes all
states to 0.
Programmatic Use
Block Parameter:
uX0 |
Type: scalar, vector |
Default:
[] |
Version History
Introduced in R2009b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)