Simulating Models

You can simulate the dynamic behavior of your model using a variety of deterministic and stochastic solvers. Simulations can be performed in the SimBiology app or programmatically using MATLAB functions. Simulations return time-state data for all dynamic model quantities. You can visualize the results using built-in plots, or export the data to MATLAB for further analyses and visualization.

Prior to simulation, SimBiology checks the validity of the model structure and expressions, verifies that the model can be simulated, and reports the sources and potential causes of errors. You can use this verification report to locate and fix problems with model implementation.


SimBiology provides several deterministic solvers, including MATLAB ODE solvers and the CVODE solver from the SUNDIALS suite. SimBiology also provides three stochastic solvers: stochastic simulation algorithm (SSA), explicit tau-leaping, and implicit tau-leaping.

The ODE solvers can simulate stiff systems and models incorporating discontinuities, such as events and doses. You can control simulation settings, including stop time, sampling times, tolerances, and states to be logged.

Figure 3: Simulation Settings dialog box showing solver choices.
Figure 3: Simulation Settings dialog box showing solver choices.

Unit Conversion and Dimensional Analysis

SimBiology provides unit conversion tools to support flexibility in your choice of units. You can choose the units that are most appropriate for each model quantity. For example, you could specify the dose amount in milligrams, drug concentration in nanograms/milliliters, and plasma volume in liters. Unit conversion automatically converts all quantities in the model and data to a consistent unit system during model evaluation.

SimBiology also includes a dimensional analysis tool that automatically checks model expressions for dimensional consistency during the verification step.

Accelerated Simulation

You can accelerate simulation by converting models to compiled C code. Compiling a model can significantly improve computational performance and is particularly useful when working with large models or running tasks such as Monte Carlo simulations and parameter estimation that involve simulating the model numerous times.

To further accelerate tasks that require many simulations, such as parameter sweeps and Monte Carlo simulations, you can use Parallel Computing Toolbox™ to distribute your simulations across multiple cores or a cluster of computers.

Next: Estimating Parameters

Try SimBiology

Get trial software

Teaching PK/PD and Mechanistic Modeling with MATLAB and SimBiology

View webinar