Sensitivity Analysis

Analyze cost function sensitivity to model parameters using design of experiments (DOE), Monte Carlo, and correlation techniques

Use Sensitivity Analysis to evaluate how the parameters and states of a Simulink® model influence the model output or model design requirements. You can evaluate your model in the Sensitivity Analyzer, or at the command line. You can speed up the evaluation using parallel computing or fast restart. In the Sensitivity Analyzer, after performing sensitivity analysis, you can export the analysis results to the Parameter Estimator or Response Optimizer apps. To learn more about sensitivity analysis and its applications, see What is Sensitivity Analysis?

Apps

Sensitivity AnalyzerExplore design space and determine most influential model parameters

Functions

expand all

sdo.sampleGenerate parameter samples
sdo.SampleOptionsParameter sampling options for sdo.sample
sdo.ParameterSpaceSpecify probability distributions for model parameters
makedistCreate probability distribution object
truncateTruncate probability distribution object
sdo.scatterPlotScatter plot of samples

Create Simulation Scenario

sdo.SimulationTestSimulation scenario description

Specify Time-Domain Requirements

sdo.requirements.SignalBoundPiecewise-linear amplitude bound
sdo.requirements.SignalTrackingReference signal to track
sdo.requirements.StepResponseEnvelopeStep response bound on signal
sdo.requirements.PhasePlaneEllipseImpose elliptic bound on phase plane trajectory of two signals
sdo.requirements.PhasePlaneRegionImpose region bound on phase plane trajectory of two signals

Specify Parameter Requirements

sdo.requirements.FunctionMatchingImpose function matching constraint on variable
sdo.requirements.MonotonicVariableImpose monotonic constraint on variable
sdo.requirements.RelationalConstraintImpose relational constraint on pair of variables
sdo.requirements.SmoothnessConstraintImpose bounds on gradient magnitude of variable

Specify Frequency-Domain Requirements

sdo.requirements.BodeMagnitudeBode magnitude bound
sdo.requirements.ClosedLoopPeakGain Closed loop peak gain bound
sdo.requirements.GainPhaseMarginGain and phase margin bounds
sdo.requirements.OpenLoopGainPhaseNichols response bound
sdo.requirements.PZDampingRatioDamping ratio bound
sdo.requirements.PZNaturalFrequencyNatural frequency bound
sdo.requirements.PZSettlingTimeSettling time bound
sdo.requirements.SingularValueSingular value bound
sdo.evaluateEvaluate cost function for samples
sdo.EvaluateOptionsCost function evaluation options for sdo.evaluate
sdo.OperatingPointSetupSet up steady-state operating point computation
sdo.getParameterFromModelDesign variable for optimization
sdo.getStateFromModelInitial state for estimation from Simulink model
sdo.getModelDependenciesList of model file and path dependencies
sdo.setValueInModelSet design variable value in model
sdo.analyzeAnalyze how model parameters influence cost function
sdo.AnalyzeOptionsAnalysis options for sdo.analyze

Topics

Evaluation Basics

What is Sensitivity Analysis?

Simulink Design Optimization™ software performs global sensitivity analysis.

Generate Parameter Samples for Sensitivity Analysis

This topic shows how to generate parameter samples for sensitivity analysis.

Analyze Relation Between Parameters and Design Requirements

Use visual and statistical analysis techniques to analyze the relationship between the parameters and design requirements.

Validate Sensitivity Analysis

Validate sensitivity analysis by checking generated parameter values, evaluation results, and analysis results.

Write a Cost Function

Write a cost function for parameter estimation, response optimization, or sensitivity analysis. The cost function evaluates your design requirements using design variable values.

Apps and Programmatic Workflow

Identify Key Parameters for Estimation (GUI)

This example shows how to use sensitivity analysis to narrow down the number of parameters that you need to estimate when fitting a model.

Identify Key Parameters for Estimation (Code)

This example shows how to use sensitivity analysis to narrow down the number of parameters that you need to estimate to fit a model.

Design Exploration Using Parameter Sampling (GUI)

This example shows how to sample and explore a design space using the Sensitivity Analyzer.

Design Exploration Using Parameter Sampling (Code)

This example shows how to sample and explore a design space.

Explore Design Reliability Using Parameter Sampling (GUI)

This example shows how to use the Sensitivity Analyzer to explore the behavior of a PI controller for a DC motor.

Steady-State Evaluation

Specify Steady-State Operating Point for Sensitivity Analysis

An operating point of a dynamic system defines the states and root-level input signals of the model at a specific time.

Speed Up Evaluation

Use Parallel Computing for Sensitivity Analysis

Specify model dependencies and use parallel computing for performing sensitivity analysis in the app, or at the command line.

Use Fast Restart Mode During Sensitivity Analysis

This topic shows how to speed up sensitivity analysis using Simulink fast restart.

Use Accelerator Mode During Simulations

Simulink Design Optimization software supports Normal and Accelerator simulation modes.

Store Intermediate Data in the App

How to speed up evaluation in the app by storing intermediate data.

Sensitivity Analyzer Tasks

Specify Parameters for Design Exploration

Select model parameters for sensitivity analysis in the app.

Specify Time-Domain Requirements

Specify time-domain requirements such as signal matching, amplitude bounds, step response bounds, reference signals, elliptical bounds, and custom bounds.

Specify Parameters Requirements

Specify requirements such as monotonic, smoothness, property, and relational constraints on parameters in your model.

Specify Frequency-Domain Requirements

Specify frequency-domain requirements in the Sensitivity Analyzer.

Preprocess Data

Perform preprocessing operations such as removing offsets and filtering the data before you use it.

Create Linearization I/O Sets

Create linearization input/output sets in the Response Optimizer or Sensitivity Analyzer.

Evaluate Design Requirements

Evaluate your design requirements in the Sensitivity Analyzer.

Use Sensitivity Analysis to Configure Estimation and Optimization

Use the results generated in the Sensitivity Analyzer to configure parameter estimation or response optimization.

Interact with Plots in the Sensitivity Analyzer

Plot and interpret parameter set, requirement, result scatter, contour, and tornado plots.

Code Generation

Generate MATLAB Code for Sensitivity Analysis for Design Space Exploration and Evaluation (GUI)

This example shows how to automatically generate a MATLAB function to solve a Sensitivity Analysis evaluation problem.

Generate MATLAB Code for Sensitivity Analysis Statistics to Identify Key Parameters (GUI)

This example shows how to automatically generate a MATLAB function to solve a Sensitivity Analysis statistics problem.