Main Content

Simulink.SimulationData.State class

Package: Simulink.SimulationData
Superclasses:

State logging element

Description

Simulink® uses Simulink.SimulationData.State objects to store state logging information during simulation. The objects contain state information about which block the state data is coming from and the type of state.

Properties

expand all

Name of state element to use for name-based access, specified as a character vector. If you do not specify a name, 'CSTATE' or 'DSTATE' is used, depending on whether it a continuous or discrete state.

Block path for state source block, specified as a Simulink.SimulationData.BlockPath object

Type of state, returned as 'CSTATE' or 'DSTATE'. Read-only property.

  • 'CSTATE' – Continuous state

  • 'DSTATE' – Discrete state

State element information, specified as a single MATLAB timeseries object or as a structure of MATLAB timeseries objects.

Methods

plotPlot simulation output data in the Simulation Data Inspector

Examples

collapse all

This example shows how to save final state information using the Dataset format and then access the state data after simulation.

Load the model vdp and configure the model to log final states using the Dataset format. This example uses the default final states variable name, xFinal.

load_system('vdp');
set_param('vdp','SaveFinalState','on','SaveFormat','Dataset');

Simulate the model.

out = sim('vdp');

By default, models create a single simulation output that contains all logged data in a Simulink.SimulationOutput object. Get the xFinal Dataset object from the SimulationOutput object. The xFinal Dataset object contains data for two states.

xFinal = get(out,'xFinal')
xFinal = 
Simulink.SimulationData.Dataset 'xFinal' with 2 elements

                        Name  BlockPath 
                        ____  _________ 
    1  [1x1 State]      ''    vdp/x1   
    2  [1x1 State]      ''    vdp/x2   

  - Use braces { } to access, modify, or add elements using index.

Examine the data for the state that corresponds to the x1 block.

state_x1 = get(xFinal,1)
state_x1 = 
  Simulink.SimulationData.State
  Package: Simulink.SimulationData

  Properties:
         Name: ''
    BlockPath: [1x1 Simulink.SimulationData.BlockPath]
        Label: CSTATE
       Values: [1x1 timeseries]



  Methods, Superclasses
Introduced in R2015a