Calculating sensitivities lets you determine which species or parameter in a model is most sensitive to a specific condition (for example, a drug), defined by a species or parameter. Calculating sensitivities calculates the time-dependent sensitivities of all the species states with respect to species initial conditions and parameter values in the model.
Thus, if a model has a species
x, and two
z, the time-dependent
x with respect to each parameter
value are the time-dependent derivatives
where, the numerator is the sensitivity output and the denominators are the sensitivity inputs to sensitivity analysis.
For more information on the calculations performed, see References.
Sensitivity analysis is supported only by the ordinary differential equation (ODE) solvers. The software calculates local sensitivities by combining the original ODE system for a model with the auxiliary differential equations for the sensitivities. The additional equations are derivatives of the original equations with respect to parameters. This method is sometimes called "forward sensitivity analysis" or "direct sensitivity analysis". This larger system of ODEs is solved simultaneously by the solver.
SimBiology® sensitivity analysis uses "complex-step
approximation" to calculate derivatives of reaction rates.
This technique yields accurate results for the vast majority of typical
reaction kinetics, which involve only simple mathematical operations
and functions. When a reaction rate involves a nonanalytic function,
this technique can lead to inaccurate results. In this case, either
sensitivity analysis is disabled, or sensitivity analysis warns you
that the computed sensitivities may be inaccurate. An example of such
a nonanalytic function is the MATLAB® function
abs. If sensitivity analysis gives questionable
results on a model whose reaction rates contain unusual functions,
you may be running into limitations of the complex-step method. Contact MathWorks Technical
Support for additional information.
Note: Models containing the following active components do not support sensitivity analysis:
Note: You can perform sensitivity analysis on a model containing repeated assignment rules, but only if the repeated assignment rules do not determine species or parameters used as inputs or outputs in sensitivity analysis.
Set the following properties of the
configset object, before running the
true to calculate the time-dependent sensitivities
of all the species states defined by the
with respect to the initial conditions of the species and the values
of the parameters specified in
An object that holds the sensitivity analysis options in the configuration
set object. Properties of
Specify the species and parameters with respect to which you want
to compute the sensitivities. Sensitivities are calculated with respect
of the specified species. This is the denominator, described in About Calculating Sensitivities.
Specify the normalization for the calculated sensitivities:
'None' — No normalization
'Half' — Normalization relative
to the numerator (species output) only
'Full' — Full dedimensionalization
For more information about normalization, see
SolverOptions properties, calculate
the sensitivities of a model by providing the
model object as
an input argument to the
sbiosimulate function returns a
SimData object containing the following
Time points, state data, state names, and sensitivity data
Metadata such as the types and names for the logged states, the configuration set used during simulation, and the date of the simulation
SimData object is a convenient way of keeping
time data, state data, sensitivity data, and associated metadata together.
SimData object has properties and methods associated
with it, which you can use to access and manipulate the data.
For illustrated examples, see:
Parameter Scanning, Parameter Estimation, and Sensitivity Analysis in the Yeast Heterotrimeric G Protein CycleParameter Scanning, Parameter Estimation, and Sensitivity Analysis in the Yeast Heterotrimeric G Protein Cycle
object using the
pair arguments. Then execute the object. For an illustrated example,
see Calculate Sensitivities Using SimFunctionSensitivity Object.
Ingalls, B.P, and Sauro, H.M. (2003). Sensitivity analysis of stoichiometric networks: an extension of metabolic control analysis to non-steady state trajectories. J Theor Biol. 222(1), 23–36.
Martins, J.R.R.A., Sturdza, P., and Alanso, J.J. (Jan. 2001). The connection between the complex-step derivative approximation and algorithmic differentiation. AIAA Paper 2001–0921.
Martins, J.R.R.A., Kroo, I.M., and Alanso, J.J. (Jan. 2000). An automated method for sensitivity analysis using complex variables. AIAA Paper 2000–0689.