This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Create kinetic law definition


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


NameEnter a name for the kinetic law definition. Name 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

delete (any object)Delete SimBiology object
display (any object)Display summary of SimBiology object
findUsages (AbstractKineticLaw)Find out how an AbstractKineticLaw object is used
get (any object)Get object properties
set (any object)Set object properties

Property Summary

Expression (AbstractKineticLaw, KineticLaw)Expression to determine reaction rate equation
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.

Introduced in R2006a

Was this topic helpful?