Main Content


Specify sensitivity analysis options


The SensitivityAnalysisOptions property is an object that holds the sensitivity analysis options in the configuration set object. Sensitivity analysis is supported only for deterministic (ODE) simulations.


The SensitivityAnalysisOptions property controls the settings related to sensitivity analysis. To enable or disable sensitivity analysis, use the SensitivityAnalysis property.

Properties of SensitivityAnalysisOptions are summarized in Property Summary.

When sensitivity analysis is enabled, the following command

[t,x,names] = sbiosimulate(modelObj)

returns [t,x,names], where

  • t is an n-by-1 vector, where n is the number of steps taken by the ode solver and t defines the time steps of the solver.

  • x is an n-by-m matrix, where n is the number of steps taken by the ode solver and m is:

    Number of species and parameters specified in StatesToLog + 
    (Number of sensitivity outputs * Number of sensitivity input factors)
    A SimBiology® state includes species and nonconstant parameters.

  • names is the list of states logged and the list of sensitivities of the species specified in StatesToLog with respect to the input factors.

For an example of the output, see Examples.

You can add a number of configuration set objects with different SensitivityAnalysisOptions to the model object with the addconfigset method. Only one configuration set object in the model object can have the Active property set to true at any given time.

Property Summary

InputsSpecify species and parameter input factors for sensitivity analysis
NormalizationSpecify normalization type for sensitivity analysis
OutputsSpecify species and parameter outputs for sensitivity analysis


Applies toObject: configuration set
Data typeObject
Data valuesSensitivityAnalysisOptions properties as summarized in Property Summary.


This example shows how to set SensitivityAnalysisOptions.

  1. Import the radio decay model from SimBiology demos.

    modelObj  = sbmlimport('radiodecay');
  2. Retrieve the configuration settings and the sensitivity analysis options from modelObj.

    configsetObj = getconfigset(modelObj);
    sensitivityObj = get(configsetObj, 'SensitivityAnalysisOptions');
  3. Add a species and a parameter to the Inputs property. Use the sbioselect function to retrieve the species and parameter objects from the model.

    speciesObj = sbioselect(modelObj,'Type', 'species', 'Name', 'z');
    parameterObj = sbioselect(modelObj, 'Type', 'parameter', 'Name', 'c');
    set(sensitivityObj, 'Inputs', [speciesObj parameterObj]);
  4. Add a species to the Outputs property and display.

    set(sensitivityObj, 'Outputs', speciesObj);
    get(sensitivityObj, 'Outputs')
    SimBiology Species Array
       Index:    Compartment:    Name:    InitialAmount:    InitialAmountUnits:
       1         unnamed         z        0                 molecule
  5. Enable SensitivityAnalysis.

    set(configsetObj.SolverOptions, 'SensitivityAnalysis', true);
    get(configsetObj.SolverOptions, 'SensitivityAnalysis')
    ans =
  6. Simulate and return the results to three output variables. See Description for more information.

    [t,x,names] = sbiosimulate(modelObj);
  7. Display the names.

    names = 

    Display state values x.


    The display follows the column order shown in names for the values in x. The rows correspond to t.