Decide How to Visualize Simulation Data - MATLAB & Simulink (original) (raw)
Visualizing simulation data throughout the modeling process helps you understand and tune model behavior. Simulink® offers several complementary visualization tools you can use throughout the modeling process. Some visualization tools also offer the ability to save simulation data. Learn about each technique so you can choose the right tools to visualize your model data.
- Simulation Data Inspector — View, analyze, and compare logged data throughout the modeling process.
- Scope block, Floating Scope block, and Scope Viewer — Debug and analyze data using a block-based tool with capabilities similar to a bench-top oscilloscope.
- Record block — Visualize data logged to the workspace, a file, or both.
- Dashboard blocks — Build an interactive interface to tune and monitor a model.
- Port value labels — View instantaneous signal values in the block diagram.
- Custom MATLAB® visualization — Write MATLAB code to visualize data.
Simulation Data Inspector
You can use the Simulation Data Inspector for most visualization tasks. The Simulation Data Inspector integrates with data logging in your model and works well for visualizing many signals throughout a model. Use comparisons in the Simulation Data Inspector to prototype, debug, tune, calibrate, and test your models. The Simulation Data Inspector supports:
- Viewing signals during simulation
- Logging, importing, and exporting data
- Configurable subplot layouts and visualization settings
- Viewing data using multiple visualization options, including maps and XY plots
- Post-processing and data analysis using comparisons with tolerance values
- Saving plots and data to share or archive results
To visualize simulation data using the Simulation Data Inspector, log data in the model. When you log signals and outputs, the logged data is automatically available in the Simulation Data Inspector during and after simulation. In the model Configuration Parameters, select > to make logged states and Simscape™ data available in the Simulation Data Inspector after simulation. When you want to view signals without logging the data, consider using a Scope block, the Floating Scope block, or a Scope Viewer.
Open the Simulation Data Inspector from > or by clicking a signal logging badge. When you open the Simulation Data Inspector by clicking the logging badge on a signal, the signal is automatically plotted.
For more information, see Simulation Data Inspector.
Scope Blocks and the Scope Viewer
Scope blocks, Floating Scope blocks, and theScope Viewer visualize connected signals in a similar way as a bench-top oscilloscope. The scope blocks and Scope Viewer use the same interface to visualize and analyze connected signals. The interface is similar to other domain-specific tools, such as the Spectrum Analyzer (DSP System Toolbox) and Array Plot (DSP System Toolbox) blocks. Scope blocks are easy to add and connect in your model, and you do not need to log data in order to view signal data.
Scope blocks, Floating Scope blocks, and the Scope Viewer support:
- Viewing signals during simulation, including rapid accelerator simulations
- Simple connection and accessibility for lightweight debugging
- Signal visualization without logging
- Optional signal logging
- Starting simulations from the visualization interface using playback controls
- Oscilloscope measurements, including cursors and triggers. Additional measurements are available when you have a Simscape or DSP System Toolbox™ license
- Configurable plots and display
- Configurable triggers to capture events
Use the Scope block, the Floating Scope block, and the Scope Viewer for prototyping and lightweight debugging. For example, in the early stages of model development, you can connect a Scope block to a signal to quickly verify component behavior. By adding triggers, you can tune a specific peak or other artifact in a signal. A Scope block may or may not be permanent in your model.
When you need to view data for signals throughout a model hierarchy, consider using the Simulation Data Inspector, especially if you already log the signals you want to view.
For more information, see Scope Blocks and Scope Viewer Overview.
Record Block
You can use the Record block to view connected signal data that you record to the workspace, a file, or both the workspace and a file.
The Record block supports:
- Viewing signals logged using the Record block during simulation
- Logging data to the workspace, a file, and the Simulation Data Inspector
- Streaming data to the Simulation Data Inspector during simulation
- Viewing data using multiple visualization options, including maps and XY plots
- Starting simulations while viewing data in the Record block using simulation controls, such as the Run button
Connect signals to the Record block to log data to the workspace or a file. To view simulation data logged using the Record block, double-click the block. You can modify the plot layout and view data using several visualizations, including sparklines plots, time plots, and XY plots. Data logged to the Record block is automatically streamed to the Simulation Data Inspector during simulation. When you want to view signals without logging the data, consider using a Scope block, the Floating Scope block, or a Scope Viewer.
For more information, see Log Data to the Workspace and a File Using the Record Block.
Dashboard Blocks
The Dashboard library includes control blocks you can use to tune variables and parameters in your model and visualization blocks you can use to view signal data. Use dashboard blocks to view instantaneous signal data and build an interactive interface for your model.
You can use dashboard block controls to modify the values of variables and tunable parameters in your model during simulation. Visualization dashboard blocks are updated continuously throughout simulation. When you need to debug a model that uses dashboard blocks, consider using simulation pacing or simulation stepping to slow the simulation so you can view the instantaneous signal values. You can also promote dashboard blocks to one or more panels so the interactive dashboard can follow you throughout a model hierarchy as you design and debug your model. For more information, see:
- Simulation Pacing Options
- Step Through Simulations Using the Simulink Editor
- Getting Started with Panels
The Dashboard Scope block provides a simple view of a signal over time. You can zoom, pan, and add cursors to a Dashboard Scope block through the context menu. For more debugging and analysis capabilities, use aScope block or log data to the Simulation Data Inspector.
For more information about using Dashboard blocks, see Tune and Visualize Your Model with Dashboard Blocks.
Port Value Labels
To view signal values in the block diagram during simulation, use port value labels. Port value labels can supplement existing visualizations, especially while prototyping and debugging models. For example, you can view signal values on port value labels as you step through a simulation while visualizing the temporal behavior using a Scope block. You can also use port value labels on their own to support debugging without adding any blocks to your model or logging data.
To display a signal value, right-click the signal and select Show Port Value Label On Selected Signal.
When viewing signal data using port value labels, consider using simulation pacing or stepping through the simulation. For more information, see Simulation Pacing Options and Step Through Simulations Using the Simulink Editor.
For more information, see View Signal Values Using Port Value Labels.
Custom MATLAB Visualizations
When you log simulation data to the workspace or a file, you can write MATLAB code and scripts to create custom visualizations. You can log signals, outputs, and states in a model, and you can also enable data logging for signals connected to Scope Viewers, Floating Scope blocks andScope blocks. For more information about logging data in your model, see Save Simulation Data.
Note
When you post-process data using MATLAB code and scripts, you do not need to write custom MATLAB code to visualize the data. You can import the processed data into the Simulation Data Inspector for visualization alongside the logged data.
The visualization code you write can depend on the format of the logged data. By default, logging uses the Dataset
format and produces a single simulation output. Logged data is returned to the workspace as a Simulink.SimulationOutput object that contains a Simulink.SimulationData.Dataset object for each type of logging used in the simulation. EachDataset
object contains Simulink.SimulationData.Signal objects that store the data for an individual signal as a timeseries object. For more information, see Data Format for Logged Simulation Data.
When you log a signal, you can visualize the signal during simulation using custom MATLAB code. For more information, see Access Data in MATLAB Function During Simulation.