Documentation Center

  • Trial Software
  • Product Updates

model

Execute particular phase of simulation of model

Syntax

[sys,x0,str,ts] = model([],[],[],'sizes');
[sys,x0,str,ts] = model([],[],[],'compile');
outputs = model(t,x,u,'outputs');
derivs = model(t,x,u,'derivs');
dstates = model(t,x,u,'update');
model([],[],[],'term');

Description

The model command executes a specific phase of the simulation of a Simulink® model whose name is model. The command's last argument (flag) specifies the phase of the simulation to be executed. See Simulating Dynamic Systems for a description of the steps that Simulink software uses to simulate a model.

This command ignores the effects of state transitions and conditional execution. Therefore, it is not suitable for models which have such logic. Use this command for models which can be represented as simple dynamic systems. Such systems should meet requirements which include the following:

  • All states in the model must be non-complex states of data type double. No other states can be accessed using this command.

  • There is minimal amount of state logic (Stateflow, conditionally executed subsystems etc.)

  • The models are mixed domain models. That is, most blocks in the model are built-in Simulink blocks and do not include user-written S-functions or blocks from other Sim* products)

For models which do not comply with these requirements, using this command can cause Simulink to produce results which can only be interpreted by further analyzing and simplifying the model.

This command is also not intended to be used to run a model step-by-step, for example, to debug a model. Use the Simulink debugger if you need to examine intermediate results to debug a model.

Arguments

sys

Vector of model size data:

  • sys(1) = number of continuous states

  • sys(2) = number of discrete states

  • sys(3) = number of outputs

  • sys(4) = number of inputs

  • sys(5) = reserved

  • sys(6) = direct-feedthrough flag (1 = yes, 0 = no)

  • sys(7) = number of sample times (= number of rows in ts)

x0

Vector containing the initial conditions of the system's states

str

Vector of names of the blocks associated with the model's states. The state names and initial conditions appear in the same order in str and x0, respectively.

ts

An m-by-2 matrix containing the sample time (period, offset) information

outputs

Outputs of the model at time step t.

derivs

Derivatives of the continuous states of the model at time t.

dstates

Discrete states of the model at time t.

t

Time step

x

State vector

u

Inputs

flag

String that indicates the simulation phase to be executed:

  • 'sizes' executes the size computation phase of the simulation. This phase determines the sizes of the model's inputs, outputs, state vector, etc.

  • 'compile' executes the compilation phase of the simulation. The compilation phase propagates signal and sample time attributes.

  • 'update' computes the next values of the model's discrete states.

  • 'outputs' computes the outputs of the model's blocks at time t.

  • 'derivs'computes the derivatives of the model's continuous states at time step t.

  • 'term' causes Simulink software to terminate simulation of the model.

Examples

This command executes the compilation phase of the vdp model that comes with Simulink software.

vdp([], [], [], 'compile')

The following command terminates the simulation initiated in the previous example.

vdp([], [], [], 'term')

    Note   You must always terminate simulation of the model by invoking the model command with the 'term' command. Simulink software does not let you close the model until you have terminated the simulation.

See Also

Was this topic helpful?