redefine mass action kinetics

2 views (last 30 days)
Hi All.
I am looking for a general way to redefine the mass-action kinetics. The way they are implemented in Matlab is that for a reaction of type 2A->B with reaction constant k, the rate of the reaction is given by k*A^2.
I would like to change the reaction rate to k*A*(A-1).
I know how to do it for a specific type of reactions using the sbioaddtolibrary function. But this solution doesn't take care of a reaction of type 2A+2B->C.
Thank you for your help.

Accepted Answer

Arthur Goldsipe
Arthur Goldsipe on 16 Dec 2017
It's not currently possible to create a custom kinetic law that depends on the reaction's stoichiometry. You will need to manually write each reaction rate.
Based on the form of your reaction rate, I suspect you're trying to model a system containing a small numbers of reacting molecules. Have you considered using one of SimBiology's stochastic solvers? That would likely be a better model of your system than using deterministic solver with the reaction rates you describe.
George A.
George A. on 16 Dec 2017
Thanks for the reply. Is choosing a stochastic solver going to change the form of mass-action kinetics?
Arthur Goldsipe
Arthur Goldsipe on 16 Dec 2017
Yes, the stochastic solvers model mass action kinetics differently. They take into account the discrete number of molecules. For example, if your reaction is 2 A -> B, and you only have 1 molecule of A, then B would never form. I'm guessing this is the sort of effect you want to model when you say you want to use a rate of the form k*A*(A-1).

Sign in to comment.

More Answers (0)


Find more on Extend Modeling Environment in Help Center and File Exchange


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!