Main Content

View Simulation Data in Simulation Data Inspector

You can use the Simulation Data Inspector to visualize data you generate throughout the design process, including data that you log during a simulation. You can also import test data and other recorded data into the Simulation Data Inspector to inspect and analyze it alongside the logged simulation data. For more information about importing data to the Simulation Data Inspector, see Import Data from Workspace or File into Simulation Data Inspector.

Simulation data that you log in a Simulink® model logs to the Simulation Data Inspector. The Simulation Data Inspector offers several types of plots, which allow you to easily create complex visualizations of your data. For more information, see Create Plots Using the Simulation Data Inspector.

View Logged Data

Many types of logged data automatically stream to the Simulation Data Inspector when you simulate a model. Data that streams to the Simulation Data Inspector is also available after simulation. Other types of logged simulation data only appear in the Simulation Data Inspector when the simulation is paused, stopped, or complete. To view these types of logged data, open the Configuration Parameters dialog box and, in the Data Import/Export pane, select Record logged workspace data in Simulation Data Inspector. For more information about logging simulation data, see Save Simulation Data.

Type of Simulation DataData That Can Be Viewed During and After SimulationData That Can Be Viewed Only After Simulation is Paused, Stopped, or Complete
Output

Output data logged using Dataset format

Output data logged in a format other than Dataset when the Record logged workspace data in Simulation Data Inspector parameter is selected

Signal data

Signal data logged using one of these techniques:

When the Record logged workspace data in Simulation Data Inspector parameter is selected, signal data logged using:

  • A To File block

  • A Scope block configured to log data to the workspace

State

State data logged using Dataset format

State data logged in a format other than Dataset when the Record logged workspace data in Simulation Data Inspector parameter is selected

Data storeAll data store dataNot applicable

Note

When you log states and outputs using the Structure or Array format, you must also log time for the data to record to the Simulation Data Inspector.

The Simulation Data Inspector displays available data in a table in the Inspect pane. To plot a signal, select the check box next to the signal. You can modify the layout and add different visualizations to analyze the simulation data.

The Inspect pane of the Simulation Data Inspector shows a time plot of the alpha, rad signal for two runs.

The Simulation Data Inspector manages incoming simulation data using the archive. By default, the previous run moves to the archive when you start a new simulation. You can plot signals from the archive, or you can drag runs of interest back into the work area.

View Complex Data

The complexSignal model logs two complex signals. The Complex Square Wave signal is logged using an Outport block. The Complex Sine Wave signal is logged using signal logging. Open the model.

mdl = "complexSignal";
open_system(mdl)

The complexSignal model

Simulate the model. Then, plot the simulation data in the Simulation Data Inspector.

out = sim(mdl);
Simulink.sdi.plot(out);

You can control how to visualize a complex signal using the Properties pane in the Simulation Data Inspector. You can choose from these complex format options:

  • Magnitude

  • Magnitude-Phase

  • Phase

  • Real-Imaginary

Select the Complex Square Wave signal from the signal table. Then, in the Complex Format drop-down menu, select Real-Imaginary. If you select Magnitude-Phase or Real-Imaginary for the Complex Format, the Simulation Data Inspector plots both components of the signal. For signals in Real-Imaginary format, the Line Color specifies the color of the real component of the signal, and the imaginary component is a different shade of the Line Color.

The Complex Square Wave and Complex Sine Wave signals plotted in the Simulation Data Inspector using Real-Imaginary format

When you use signal logging to log data, you can also change the default complex format for the signal using the Instrumentation Properties for the signal in the model. To access the Instrumentation Properties for the Complex Sine Wave signal, right-click the logging badge for the signal and select Properties. From the Complex Format drop-down menu, select Magnitude-Phase.

Simulate the model again to visualize the Complex Sine Wave signal in the Simulation Data Inspector using the Magnitude-Phase format.

out = sim(mdl);

The Simulation Data Inspector showing the Complex Square wave plotted using the Real-Imaginary format and the Complex Sine Wave is plotted using the Magnitude-Phase format.

View String Data

You can log and view string data with your signal data in the Simulation Data Inspector. In the model stringData, the value of the sine wave block controls whether the switch sends a string reading Positive or Negative to the output. Open the model.

mdl = "stringData";
open_system(mdl)

Simulate the model.

out = sim(mdl);

Open the Simulation Data Inspector. Select the Sine Wave and Switch signals from the signal table to plot the results. The string signal is shown at the bottom of the graphical viewing area.

A sine wave and string data plotted in the Simulation Data Inspector

Select Show/hide data cursors to inspect how the string signal values correspond with the sine signal's values.

A cursor displaying the values of the sine wave and the string data at time 2.8. The sine wave has a value of 0.32. The string data has a value of "Positive".

When you plot multiple string signals on a plot, the signals stack in the order they were simulated or imported, with the most recent signal positioned at the top. For example, change the phase of the sine wave controlling the switch. Then, simulate the model again. In the Simulation Data Inspector, select all of the signals from both runs to visualize both simulation results on one plot. You can change the line color to better distinguish between the two runs. The string data from the second run is stacked on top of the string data from the first run.

The results of two runs plotted in the Simulation Data Inspector. The string data from the newest run is stacked on top of the string data from the previous run.

View Multidimensional Data

You can view and analyze multidimensional signal data in the Simulation Data Inspector. To view a signal with multidimensional signal values, use the array plot. The model MultiDim contains six Sine Wave blocks, each vertically displaced from the previous sine wave by one, connected to a Mux block. Output from the Mux block is logged to the Simulation Data Inspector using an Outport block.

Simulate the model. Then, open the Simulation Data Inspector.

mdl = "MultiDim";
sim(mdl);
Simulink.sdi.view

To plot data on an array plot, click Visualizations and layouts . Then, select Array. When you plot a signal with multidimensional sample values on an array plot, a stem plot displays the value of each sample at a given time. The time is shown in the upper right corner of the plot. The dimensions of the signal are displayed in parentheses next to the signal name. For example, because the multidimensional signal MultiDimSig contains six channels, the array plot of the data has six markers.

An array plot in the Simulation Data Inspector displaying the sample values of the multidimensional signal MultiDimSig at time t=10 seconds

You can also convert the representation of a multidimensional signal from a single signal with multidimensional sample values to a set of signals with scalar sample values called channels. Once converted to channels, you can plot the data using time plots, XY plots, maps, or sparklines. To see the difference between plotting the multidimensional signal on an array plot, and plotting the individual channels in a time plot, run the simulation again.

sim(mdl);

To convert the multidimensional signal in the second run to channels, click the dimensions of the signal, shown in parenthesis, next to the signal name in the Simulation Data Inspector. Then, select Convert to channels.

Conversion menu for a multidimensional signal in the Simulation Data Inspector

In the Visualizations and layouts menu, select a 2x1 layout. In the lower subplot, plot the signal with multidimensional sample values from the first run in an array plot. In the upper subplot, plot the channels from the second run in a time plot. To view the values of each channel at a particular time, add a cursor to the time plot. To add one cursor to the subplot, click the arrow next to Show/hide cursors . Then, choose One cursor.

Notice that the sample values in the array plot change as you drag the cursor. As you move the cursor through time, each sample value in the array plot changes to display the value of that element at that particular time. In this case, because both runs contain the same data, the values in the array plot match the values displayed by the cursor for each corresponding channel in the time plot. For example, when the cursor is positioned at 3.6 seconds, the time displayed in the upper-right corner of the array plot is also 3.6 and the value of the first sample in the array plot is equal to the value displayed by the cursor for the MultiDimSig(1) signal in the time plot.

The Simulation Data Inspector with two vertically aligned subplots. In the upper subplot, six sine wave signals are plotted in a time plot, and a cursor is positioned at 3.6 seconds. In the lower subplot, the MultiDimSig signal with multidimensional sample values is plotted in an array plot at 3.6 seconds.

You can also see the values in the array plot change over time by replaying the data. Click Show/hide replay controls . Then, click Replay .

For more information about inspecting and analyzing multidimensional signal data, including frame-based data, see Analyze Multidimensional Signal Data.

View Frame-Based Data

Some applications buffer several samples of a signal into a frame to process with a single computation instead of processing each sample in the frame separately. When you work with frame-based signals, you can analyze the data frame by frame, or you can remove the buffering and analyze the signal without the frames.

Processing data in frames rather than point by point provides a performance boost needed in some applications. When you log frame-based signals as sample-based, you can convert the frames in the Simulation Data Inspector after simulation. For more information about viewing frame-based data in the Simulation Data Inspector, see View Multidimensional Signals Using the Array Plot.

View Event-Based Data

You can log or import event data to the Simulation Data Inspector. In this example, the model SimpleMessagesModel logs signal data and message data using signal logging. For more information about the model, see Animate and Understand Sending and Receiving Messages.

mdl = "SimpleMessagesModel";
open_system(mdl)

The SimpleMessagesModel model

Simulate the model. During simulation:

  • The Sine Wave block generates the sine wave signal.

  • Every 0.1 seconds, the Send block converts the value of the sine wave signal to a message and sends it to the Queue block.

  • The Queue block sends messages to the Receive block.

  • The Receive block generates the reconstructed sine wave signal.

out = sim(mdl);

Plot the data in the Simulation Data Inspector. The Simulation Data Inspector displays message data as a stem plot, where the value for the stem is the sample of the sine wave that was taken as the message payload for the given simulation time.

Simulink.sdi.plot(out);

The Sine Wave:1 and Receive:1 signals and the Send:1 and Queue:1 messages plotted in the Simulation Data Inspector. The messages are displayed as stem plots. The Send:1 signal is selected. Because Send:1 is a message, in the Properties pane, the Interp Method is none (event-based).

See Also

Functions

Related Topics