ulinearize
Linearize Simulink model with Uncertain State Space block
Syntax
ulin = ulinearize('sys',io) ulin = ulinearize('sys',op,io) ulin = ulinearize('sys',op,io,options) ulin = ulinearize('sys',op) ulin_block = ulinearize('sys',op,'blockname') [ulin,op] = ulinearize('sys',snapshottimes,...); ulin = ulinearize('sys','StateOrder',stateorder)
Description
ulin = ulinearize('sys',io)
linearizes the Simulink® model sys
that contains Uncertain State Space blocks
and returns a linear time-invariant uncertain system ulin. ulin
is an
uss
object. io
is an I/O object that specifies
linearization I/O points in the model. Use getlinio
or
linio
to create io
. The linearization occurs
at the operating point specified in the model.
ulin=ulinearize('sys',io,op)
linearizes the model at the operating
point specified in the operating point object op
. Use
operpoint
or findop
to create
op
. Both op
and io
are
associated with the same model sys
.
ulin=ulinearize('sys',io,op,options)
takes a linearization options
object options
that contains several options for linearization and
returns linear time-invariant uncertain system ulin
. Use
linearizeOptions
to create options
.
ulin=ulinearize('sys',op)
linearizes the model
sys
at the operating point specified in the operating point
object op
. The software uses root-level inport and outport blocks in
sys
as I/O points for linearization.
ulin_block=ulinearize('sys',op,'blockname',...)
takes the name of a
block blockname
in the model sys
and returns a
linear time-invariant uncertain system ulin_block
. You can also
specify a fourth argument options
to provide options for the
linearization.
[ulin,op] = ulinearize('sys',snapshottimes,...)
creates operating
points for linearization by simulating the model and taking snapshots of the system's
states and inputs at times specified in the vector snapshottimes
.
ulin
is a set of linear time-invariant uncertain systems and
op
is the set of operating point objects used in linearization.
You can also specify I/O object for linearization, or a block name. If you do not
specify an I/O object or block name, the linearization uses root-level inport and
outport blocks in the model. You can also supply an additional argument,
options
, to provide options for linearization.
ulin = ulinearize('sys','StateOrder',stateorder)
creates a
linear-time-invariant uncertain system ulin
, whose states are in a
specified order. Specify the state order in the cell array stateorder
by entering the names of the blocks containing states in the model. For all blocks, you
can enter block names as the full block path. For continuous blocks, you can
alternatively enter block names as the user-defined unique state name.
Examples
Compute uncertain linearization of a Simulink model containing Uncertain State Space blocks:
% Define uncertain variables and uncertain system variables % to use in Uncertain State Space blocks. unc_pole = ureal('unc_pole',-5,'Range',[-10 -4]); plant = ss(unc_pole,5,1,0); wt = makeweight(0.25,130,2.5); input_unc = ultidyn('input_unc',[1 1]); sensor_pole = ureal('sensor_pole',-20,'Range',[-30 -10]); sensor = tf(1,[1/(-sensor_pole) 1]); % Open Simulink model. The model contains three Uncertain State % Space blocks named Unmodeled Plant Dynamics, Uncertain Plant and % Uncertain Sensor, and linearization I/O points. open_system('rct_ulinearize_uss') % Obtain linearization I/O points. mdl = 'rct_ulinearize_uss'; io = getlinio(mdl); % Compute the uncertain linearization of the model. ulin = ulinearize(mdl,io) % MATLAB returns an uss object with 5 states.
Tutorials
Linearize Simulink Block to Uncertain Model
Linearization of Simulink Models with Uncertainty
Version History
Introduced in R2009b