Main Content


Create kinetic law definition


abstkineticlawObj = sbioabstractkineticlaw('Name')
abstkineticlawObj = sbioabstractkineticlaw('Name','Expression')
abstkineticlawObj = sbioabstractkineticlaw(...'PropertyName', PropertyValue...)


NameEnter a name for the kinetic law definition. Name can be a character vector or string. It must be unique in the user-defined kinetic law library. Name is referenced by kineticlawObj.
ExpressionThe mathematical expression that defines the kinetic law.


abstkineticlawObj = sbioabstractkineticlaw('Name') creates an abstract kinetic law object, with the name Name and returns it to abstkineticlawObj. Use the abstract kinetic law object to specify a kinetic law definition.

The kinetic law definition provides a mechanism for applying a specific rate law to multiple reactions. It acts as a mapping template for the reaction rate. The kinetic law definition defines a reaction rate expression, which is shown in the property Expression, and the species and parameter variables used in the expression. The species variables are defined in the SpeciesVariables property, and the parameter variables are defined in the ParameterVariables property of the abstract kinetic law object.

To use the kinetic law definition, you must add it to the user-defined library with the sbioaddtolibrary function. To retrieve the kinetic law definitions from the user-defined library, first create a root object using sbioroot, then use the command get(rootObj.UserDefinedLibrary, 'KineticLaws').

abstkineticlawObj = sbioabstractkineticlaw('Name','Expression') constructs a SimBiology® abstract kinetic law object, abstkineticlawObj with the name 'Name' and with the expression 'Expression' and returns it to abstkineticlawObj.

abstkineticlawObj = sbioabstractkineticlaw(...'PropertyName', PropertyValue...) defines optional properties. The name-value pairs can be in any format supported by the function set.

Additional abstkineticlawObj properties can be viewed with the get command. abstkineticlawObj properties can be modified with the set command.


If you use the sbioabstractkineticlaw constructor function to create an object containing a reaction rate expression that is not continuous and differentiable, see Using Events to Address Discontinuities in Rule and Reaction Rate Expressions before simulating your model.

Method Summary

deleteDelete SimBiology object
displayDisplay summary of SimBiology object
findUsagesFind out how an AbstractKineticLaw object is used
getGet SimBiology object properties
renameRename SimBiology model component and update expressions
setSet SimBiology object properties

Property Summary

ExpressionExpression to determine reaction rate equation or expression of observable object
NameSpecify name of object
NotesHTML text describing SimBiology object
ParameterVariablesParameters in kinetic law definition
ParentIndicate parent object
SpeciesVariables Species in abstract kinetic law
TagSpecify label for SimBiology object
TypeDisplay SimBiology object type
UserDataSpecify data to associate with object


  1. Create a kinetic law definition.

    abstkineticlawObj = sbioabstractkineticlaw('ex_mylaw1', '(k1*s)/(k2+k1+s)');
  2. Assign the parameter and species variables in the expression.

       set (abstkineticlawObj, 'SpeciesVariables', {'s'});
       set (abstkineticlawObj, 'ParameterVariables', {'k1', 'k2'});
  3. Add the new kinetic law definition to the user-defined library.


    sbioaddtolibrary adds the kinetic law definition to the user-defined library. You can verify this using sbiowhos.

    sbiowhos -kineticlaw -userdefined
    SimBiology Abstract Kinetic Law Array
       Index:    Library:       Name:        Expression:
       1         UserDefined    ex_mylaw1    (k1*s)/(k2+k1+s)  
  4. Use the new kinetic law definition when defining a reaction's kinetic law.

         modelObj = sbiomodel('cell');
         reactionObj = addreaction(modelObj, 'A + B <-> B + C');
         kineticlawObj = addkineticlaw(reactionObj, 'ex_mylaw1');


    Remember to specify the SpeciesVariableNames and the ParameterVariableNames in kineticlawObj to fully define the ReactionRate of the reaction.

Version History

Introduced in R2006a