Generate linear models in base workspace at specific times
This block calls
dlinmod to create a linear model for
the system when the simulation clock reaches the time specified by
the Linearization time parameter.
No trimming is performed. The linear model is stored in the base workspace
as a structure, along with information about the operating point at
which the snapshot was taken. Multiple snapshots are appended to form
an array of structures.
The block sets the following model parameters to the indicated values:
BufferReuse = 'off'
RTWInlineParameters = 'on'
BlockReductionOpt = 'off'
The name of the structure used to save the snapshots is the
name of the model appended by
structure has the following fields:
The A matrix of the linearization
The B matrix of the linearization
The C matrix of the linearization
The D matrix of the linearization
Names of the model's states
Names of the model's output ports
Names of the model's input ports
A structure that specifies the operating point of the
linearization. The structure specifies the operating point time (
The sample time of the linearization for a discrete linearization
Use the Trigger-Based Linearization block if you need to generate linear models conditionally.
You can use state and simulation time logging to extract the model states and inputs at operating points. For example, suppose that you want to get the states of the f14 example model at linearization times of 2 seconds and 5 seconds.
Open the model and drag an instance of this block from the Model-Wide Utilities library and drop the instance into the model.
Open the block's parameter dialog box and set the Linearization time to 2 and 5.
Open the model's Model Configuration Parameters dialog box.
Select the Data Import/Export pane.
Check States and Time on the Save to Workspace control panel
Select OK to confirm the selections and close the dialog box.
Simulate the model.
At the end of the simulation, the following variables appear
in the MATLAB® workspace:
Get the indices to the operating point times by entering the following at the MATLAB command line:
ind1 = find(f14_Timed_Based_Linearization(1).OperPoint.t==tout); ind2 = find(f14_Timed_Based_Linearization(1).OperPoint.t==tout);
Get the state vectors at the operating points.
x1 = xout(ind1,:); x2 = xout(ind2,:);
Time at which you want the block to generate a linear model. Enter a vector of times if you want the block to generate linear models at more than one time step.
Specify a sample time to create discrete-time linearizations of the model (see Discrete-Time System Linearization).
Specified in the Sample time parameter