Main Content


Linearize Simulink model with Uncertain State Space block


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)


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.


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.

% 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.


Linearize Simulink Block to Uncertain Model

Linearization of Simulink Models with Uncertainty

Version History

Introduced in R2009b

See Also

| | |