Trigger-Based Linearization

Generate linear models in base workspace when triggered

Library

Model-Wide Utilities

Description

When triggered, this block calls linmod or dlinmod to create a linear model for the system at the current operating point. 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 _Trigger_Based_Linearization, for example, vdp_Trigger_Based_Linearization. The structure has the following fields:

Field

Description

a

The A matrix of the linearization

b

The B matrix of the linearization

c

The C matrix of the linearization

d

The D matrix of the linearization

StateName

Names of the model's states

OutputName

Names of the model's output ports

InputName

Names of the model's input ports

OperPoint

A structure that specifies the operating point of the linearization. The structure specifies the value of the model's states (OperPoint.x) and inputs (OperPoint.u) at the operating point time (OperPoint.t).

Ts

The sample time of the linearization for a discrete linearization

Use the Timed-Based Linearization block to generate linear models at predetermined times.

You can use state and simulation time logging to extract the model states at operating points. For example, suppose that you want to get the states of the vdp example model when the signal x1 triggers the Trigger-Based Linearization block on a rising edge.

  1. Open the model and drag an instance of this block from the Model-Wide Utilities library and drop the instance into the model.

  2. Connect the block's trigger port to the signal labeled x1.

  3. Open the model's Model Configuration Parameters dialog box.

  4. Select the Data Import/Export pane.

  5. Check States and Time on the Save to Workspace control panel

  6. Select OK to confirm the selections and close the dialog box.

  7. Simulate the model.

    At the end of the simulation, the following variables appear in the MATLAB® workspace: vdp_Trigger_Based_Linearization, tout, and xout.

  8. Get the index to the first operating point time by entering the following at the MATLAB command line:

    ind1 = find(vdp_Trigger_Based_Linearization(1).OperPoint.t==tout);
    
  9. Get the state vector at this operating point.

    x1 = xout(ind1,:);
    

Data Type Support

The trigger port accepts signals of any numeric data type that Simulink® supports.

For more information, see Data Types Supported by Simulink in the Simulink documentation.

Parameters and Dialog Box

Trigger type

Type of event on the trigger input signal that triggers generation of a linear model. See the Trigger type parameter of the Trigger block for an explanation of the various trigger types that you can select.

Sample time (of linearized model)

Specify a sample time to create a discrete-time linearization of the model (see Discrete-Time System Linearization).

Characteristics

Sample Time

Specified in the Sample time parameter

Dimensionalized

No

Was this topic helpful?