Main Content

Analyze Simulation Results

Use Simulation Data Inspector to explore data with custom visualizations, replay simulation results, and compare simulation data

You can use the Simulation Data Inspector to visualize, analyze, and compare logged simulation data or data imported from the workspace or a file. With the Simulation Data Inspector, you can:

  • Plot data using a variety of visualization options.

  • Analyze data with cursors or by replaying the simulation results.

  • Compare individual signals or simulation runs.

The Simulation Data Inspector supports both interactive and programmatic workflows. Use the functions and objects to programmatically manage signals and runs, compare data, and customize your visualizations. To learn more, see Simulation Data Inspector.

The Inspect pane of the Simulation Data Inspector shows three subplots. The subplots show time plots of data gathered from three runs of the model sldemo_autotrans. The first subplot shows the EngineRPM signals from all three runs. The second subplot shows the ShiftLogic signals from all three runs. The third subplot shows the VehicleSpeed signal from all three runs.

Tools

expand all

Simulation Data InspectorInspect and compare data and simulation results to validate and iterate model designs

Functions

expand all

General

Simulink.sdi.plotPlot data in Simulation Data Inspector
Simulink.sdi.viewOpen the Simulation Data Inspector
Simulink.sdi.closeClose the Simulation Data Inspector
Simulink.sdi.clearSubPlotClear plotted signals from single subplot in Simulation Data Inspector (Since R2024b)
Simulink.sdi.clearAllSubPlotsClear plotted signals from all subplots in the Simulation Data Inspector
Simulink.sdi.snapshotCapture contents of Simulation Data Inspector plots
Simulink.sdi.clearPreferencesRestore Simulation Data Inspector preferences to default settings
Simulink.sdi.saveViewSave visualization settings to apply to other data (Since R2020a)
Simulink.sdi.loadViewLoad a view file to visualize data in the Simulation Data Inspector
Simulink.sdi.setUnitSystemSpecify system of units to define signal display units in the Simulation Data Inspector (Since R2020b)
Simulink.sdi.getUnitSystemGet current unit system configured in Simulation Data Inspector preferences (Since R2020b)
Simulink.sdi.setRecordDataSpecify record mode for logging (Since R2021a)
Simulink.sdi.getRecordDataCheck record mode for logging (Since R2021a)
Simulink.sdi.setAppendRunToTopSpecify order in which Simulation Data Inspector appends new run in work area or archive (Since R2022b)
Simulink.sdi.getAppendRunToTopGet order in which Simulation Data Inspector appends run in work area or archive (Since R2022b)
Simulink.sdi.setPositionSet position and size of Simulation Data Inspector (Since R2022b)
Simulink.sdi.getPositionGet position and size of Simulation Data Inspector (Since R2022b)
Simulink.sdi.setVisualizationSet visualization type of subplot in Simulation Data Inspector (Since R2024b)
Simulink.sdi.getVisualizationGet visualization type of subplot in Simulation Data Inspector (Since R2024b)

Parallel Workflow Support

Simulink.sdi.enablePCTSupportControl when to import data from parallel simulations into the Simulation Data Inspector
Simulink.sdi.isPCTSupportEnabledDetermine status and mode for Parallel Computing Toolbox support
Simulink.sdi.sendWorkerRunToClientSend run created on parallel workers to the Simulation Data Inspector
Simulink.sdi.cleanupWorkerResourcesClean up worker repositories
Simulink.sdi.WorkerRun.getLatestCreate worker run for latest run

Customize Time Plot Appearance

Simulink.sdi.getSubPlotLayoutGet subplot layout in Simulation Data Inspector (Since R2023b)
Simulink.sdi.setSubPlotLayoutSet subplot layout in Simulation Data Inspector
Simulink.sdi.setSubplotLimitsSpecify subplot limits for time plots in the Simulation Data Inspector (Since R2021a)
Simulink.sdi.getSubplotLimitsGet t- and y-axis limits for time plot in the Simulation Data Inspector (Since R2021a)
Simulink.sdi.setTableGroupingChange signal grouping hierarchy in Inspect pane
Simulink.sdi.getMarkersOnDetermine if data markers are shown in the Simulation Data Inspector
Simulink.sdi.setMarkersOnShow or hide markers for plotted signals
Simulink.sdi.getGridOnDetermine grid configuration for time plots
Simulink.sdi.setGridOnConfigure grid lines for time plots in the Simulation Data Inspector
Simulink.sdi.getLegendPositionGet legend position in Simulation Data Inspector (Since R2023b)
Simulink.sdi.setLegendPositionSet legend position in Simulation Data Inspector (Since R2023b)
Simulink.sdi.getTicksPositionGet tick mark position setting for time plots
Simulink.sdi.setTicksPositionConfigure position for tick marks on time plots in the Simulation Data Inspector
Simulink.sdi.getTickLabelsDisplayGet tick mark label setting for time plots
Simulink.sdi.setTickLabelsDisplayConfigure tick label visibility for time plot axes
Simulink.sdi.getBorderOnGet border display setting for time plots
Simulink.sdi.setBorderOnDisplay or hide border on time plots
Simulink.sdi.getAutoTimespanGet behavior of time span in Simulation Data Inspector (Since R2022b)
Simulink.sdi.setAutoTimespanSpecify behavior of time span in Simulation Data Inspector (Since R2022b)

Control Cursors

Simulink.sdi.setNumCursorsConfigure number of cursors active in Simulation Data Inspector (Since R2021a)
Simulink.sdi.getNumCursorsCheck number of cursors active in the Simulation Data Inspector (Since R2021a)
Simulink.sdi.setCursorPositionsSpecify active cursor positions in the Simulation Data Inspector (Since R2021a)
Simulink.sdi.getCursorPositionsGet position for active cursors in the Simulation Data Inspector (Since R2021a)
Simulink.sdi.setCursorOptionsConfigure shading options for cursors in Simulation Data Inspector (Since R2020a)
Simulink.sdi.getCursorOptionsGet current shading options for cursors in Simulation Data Inspector (Since R2024a)
Simulink.sdi.registerCursorCallbackRegister callback for cursor movements in the Simulation Data Inspector (Since R2021a)
Simulink.sdi.unregisterCursorCallbackUnregister cursor callback function (Since R2021a)
Simulink.sdi.compareRunsCompare data in two simulation runs
Simulink.sdi.compareSignalsCompare data in two Simulink.sdi.Signal objects
Simulink.sdi.getCurrentComparisonAccess results from most recent comparison (Since R2020a)
Simulink.sdi.DiffRunResult.getLatestAccess results from most recent comparison (Since R2020a)
getResultByIndexReturn signal comparison result
getResultsByNameReturn signal comparison results based on signal name (Since R2022b)
saveResultSave comparison results to an MLDATX file (Since R2020a)
Simulink.sdi.getComparisonColorGet line color in comparison plot (Since R2021b)
Simulink.sdi.setComparisonColorSet line color in comparison plot (Since R2021b)

Create and Access Runs

Simulink.sdi.Run.getLatestGet the most recently created Simulation Data Inspector run (Since R2020a)
Simulink.sdi.getCurrentSimulationRunAccess data for in-progress or most recently completed simulation (Since R2020a)
Simulink.sdi.Run.createImport data into new run in Simulation Data Inspector and return Simulink.sdi.Run object
Simulink.sdi.createRunImport data into new run in Simulation Data Inspector and return run ID
Simulink.sdi.getRunAccess data for a Simulation Data Inspector run
Simulink.sdi.copyRunCopy a Simulation Data Inspector run
Simulink.sdi.addToRunImport data into existing run in Simulation Data Inspector using run ID
Simulink.sdi.deleteRunDelete a run from the Simulation Data Inspector repository
Simulink.sdi.getRunCountGet number of runs in Simulation Data Inspector repository
Simulink.sdi.getRunIDByIndexUse Simulation Data Inspector run index to get run ID
Simulink.sdi.getAllRunIDsGet all Simulation Data Inspector run identifiers
Simulink.sdi.isValidRunIDDetermine if run ID is valid
Simulink.sdi.createRunOrAddToStreamedRunCreate a single run for all simulation outputs

Run Object Functions

addImport data into existing run in Simulation Data Inspector using Simulink.sdi.Run object
getAllSignalIDsGet all signal IDs for signals in Simulink.sdi.Run object (Since R2020a)
getAllSignalsGet all signals in Simulink.sdi.Run object (Since R2020a)
getDatasetRefCreate a Simulink.sdi.DatasetRef object for a run
getSignalByIndexGet signal in Simulink.sdi.Run object by index
getSignalIDByIndexGet signal ID for signal at specified index in Simulink.sdi.Run object
getSignalIDsByNameGet signal IDs for signals inside Simulink.sdi.Run object using signal name (Since R2020a)
getSignalsByNameAccess signals in a Simulink.sdi.Run object using signal name (Since R2020a)
isValidSignalIDCheck whether signal ID corresponds to signal in Simulink.sdi.Run object

Run Management Settings

Simulink.sdi.getRunNamingRuleGet the Simulation Data Inspector rule for naming runs
Simulink.sdi.setRunNamingRuleSpecify the Simulation Data Inspector run naming rule
Simulink.sdi.resetRunNamingRuleRevert the Simulation Data Inspector run naming rule to default
Simulink.sdi.copyRunViewSettingsCopy line style and color for signals from one run to another

Access Signals

Simulink.sdi.getSignalGet Simulink.sdi.Signal object for a signal
Simulink.sdi.deleteSignalDelete signal in the Simulation Data Inspector
Simulink.sdi.markSignalForStreamingTurn logging on or off for signal
Simulink.sdi.isValidSignalIDDetermine if signal ID is valid (Since R2022b)

Signal Object Functions

collapseRepresent multidimensional signal as a single signal with nonscalar sample values (Since R2021b)
convertDataTypeConvert data type for signal in Simulation Data Inspector (Since R2022a)
convertToFramesRemove buffering from frames of frame-based signal (Since R2021b)
convertUnits Convert units of Simulink.sdi.Signal object
expandRepresent multidimensional signal as group of signals with scalar sample values (Since R2021b)
export Export data for signal in Simulation Data Inspector to workspace or file
getAsTall Create tall timetable from Simulink.sdi.Signal object
plotOnSubPlot Plot Simulink.sdi.Signal object on Simulation Data Inspector subplot
Simulink.sdi.getArchiveRunLimitGet limit for number of runs to retain in Simulation Data Inspector archive
Simulink.sdi.setArchiveRunLimitSpecify number of runs to retain in Simulation Data Inspector archive
Simulink.sdi.getAutoArchiveModeGet Simulation Data Inspector run management mode
Simulink.sdi.setAutoArchiveModeSpecify how Simulation Data Inspector manages simulation runs
Simulink.sdi.loadLoad a Simulation Data Inspector session or view
Simulink.sdi.clearClear all data from the Simulation Data Inspector
loadIntoMemoryLoad logged data into memory

Objects

expand all

Simulink.sdi.RunAccess run signals and metadata
Simulink.sdi.Signal Access signal data and metadata
Simulink.SimulationData.ParameterStores logged parameter data and metadata
Simulink.sdi.DiffRunResultAccess run comparison results
Simulink.sdi.DiffSignalResultAccess signal comparison results
io.readerBase class used to define custom variable or file reader for Simulation Data Inspector (Since R2020b)
Simulink.sdi.CustomSnapshot Specify settings for snapshot without opening or affecting the Simulation Data Inspector
Simulink.sdi.WorkerRun Access simulation data from parallel workers
Simulink.sdi.DatasetRefAccess data in Simulation Data Inspector repository
matlab.io.datastore.sdidatastore Datastore for Simulation Data Inspector signals
Simulink.HMI.InstrumentedSignalsSave and restore signal logging specification
Simulink.HMI.SignalSpecificationProgrammatically connect a Dashboard block to a signal
Simulink.sdi.constraints.MatchesSignalConstraint that compares time series data with tolerances using the Simulation Data Inspector
Simulink.sdi.constraints.MatchesSignalOptionsSpecify comparison options for Simulink.sdi.MatchesSignal constraint

Topics

Visualize Simulation Results

Import Data into the Simulation Data Inspector

Analyze Simulation Results

Compare Simulation Results

Featured Examples