Documentation Center 
Functionlike interface to execute SimBiology models
The SimFunction object provides an interface that allows you to execute a SimBiology^{®} model like a function and a workflow to perform parameter scans (in parallel if Parallel Computing Toolbox™ is available), Monte Carlo simulations, and scans with multiple or vectorized doses. Since a SimFunction object can be executed like a function handle, you can customize it to integrate SimBiology models with other MATLAB^{®} products and other custom analyses (such as visual predictive checks).
Use the createSimFunction method to construct the SimFunction object. SimFunction objects are immutable once created.
If you specified any dosing information when you called createSimFunction to construct the SimFunction object F, then F has these signatures.
simdata = F(phi,t_stop,u,t_output) returns a SimData object simdata after simulating a SimBiology model using phi, a matrix of parameter values, t_stop, simulation stop time, u, dosing information, and t_output, output time.
simdata = F(phi,t_stop,u) uses the input arguments phi, t_stop, and u.
If you did not specify any dosing information when you called createSimFunction, then F has these signatures:
simdata = F(phi,t_stop) returns a SimData object simdata using phi and t_stop.
simdata = F(phi,t_stop,[],t_output) uses the input arguments phi, t_stop, empty dosed argument [], and t_output. You must specify u, the dosing information, as an empty array[] for this signature.
Note: When t_output is empty and t_stop is specified, the simulations report the solver time points until t_stop. When t_output is specified and t_stop is empty, only the time points in t_output are reported. When both are specified, the reported time points are the union of solver time points and the time points in t_output. If the last t_output is greater than the corresponding t_stop, then simulation proceeds until the last time point in t_output. 
simdata = F(phi,tbl) uses the input arguments phi and tbl. Using this signature only lets you specify output times as one of the variables of tbl.
[T,Y] = F(_) returns T, a cell array of numeric vector, and Y, a cell array of 2D numeric matrices, using any of the input arguments in the preceding syntaxes.
phi 
Matrix of size SbyP, where S is the number of simulations to perform and P is the number of parameters specified in the params argument when you called createSimFunction to construct F. Each simulation is performed with the parameters specified in the corresponding row of phi. When phi is specified as a 1byP matrix, then all simulations use the same parameters, and the number of simulations is determined from the t_stop, u, or t_output argument in that order. For example, if phi and t_stop have a single row and u is a matrix of size NbyDoseTargets, the number of simulations is determined as N.  
t_stop 
 
u 
 
t_output 
 
tbl 
table or dataset that has time and dosing information such as group labels, independent variable, dependent variable(s), amount(s), and rate(s). You must name the variables of the table or data set as 'GROUP','TIME','DEPENDENTVAR1','DEPENDENTVAR2',...,'AMOUNT1','RATE1','AMOUNT2','RATE2',.... The rate variable is optional for each dose. If the dosed argument was empty when creating F, then amount and raterelated variables are not required. If it is not empty, the number of amount and rate variables must match the number of dosed targets or species in dosed. The number of dependent variables must match the number of columns in phi. If UnitConversion is on, specify a unit for each variable. The unit of 'Amount' variable must be dimensionally consistent with that of the target species. See the description of the input argument u for details. 
simdata 
Array of SimData objects that contains results from executing the SimFunction F. The number of elements in the simdata array is the same as the number of rows in phi. The number of columns in each element of the simdata array, that is, simdata(i).Data, is equal to the number of elements in the observed cell array which was specified when creating F. 
T 
Cell array containing a numeric vector of size S x 1. S is the number of simulations. The ith element of T contains the time point from the ith simulation. 
Y 
Cell array of 2D numeric matrices. The i^{th} element of Y contains data from the i^{th} simulation. The number of rows in T{i} is equal to the number of rows in Y{i}. 
accelerate(SimFunction)  Prepare SimFunction object for accelerated simulations 
isaccelerated(SimFunction)  Determine if SimFunction object is accelerated 
Parameters  table with variables named:
The table contains information about model quantities (species, compartments, or parameters) that define the inputs of a SimFunction object. For instance, this table can contain parameters or species whose values are being scanned by the SimFunction object. This property is read only. 
Observables  table with variables named:
This table contains information about model quantities (species, compartments, or parameters) that define the output of a SimFunction object. This property is read only. 
Dosed  table containing dosing information with variables named:
Variables related to the lag and duration parameters are included only when 'LagParameterName' and 'DurationParameterName' are not empty. This property is read only. 
UseParallel  Logical. If true and Parallel Computing Toolbox is available, SimFunction is executed in parallel. This property is readonly. 
UnitConversion  Logical. If true:

DependentFiles  Cell array of strings containing the names of files that the model depends on. This property is used for deployment. This property is read only. 