1
|
14688 Views
|
5 Replies
|
5 Total Likes
View groups...
Share
GROUPS:

# Reaction Kinetics calculation with 8 equations

Posted 10 years ago
 Need help!!! I am modeling the reaction kinetics of enzyme mechanism of a reaction system. Based on the reaction rate equations, 8 differential equations with 6 rate constants (k1-k6) are generated. The results of the expected response variable "b" are available as provided in the code below. I want to fit the model to the experimental data (b), in order to come up with the suitable rate constants for the reaction system. I have tried to adopt my problem to the solution provided by IIian but could not get reasonable results for k1-k6 and meaningful chart. Your help will be highly appreciated. Thank you. Clear[k1, k2, k3, k4, k5, k6]; totaltime = 6; dataset1 = {{0, 0}, {5, 0.5472}, {10, 0.6310}, {15, 0.7120}, {20, 0.7630}, {25, 0.846992}, {30, 0.8364}}; model = ParametricNDSolveValue[{s'[t] == -k1*s[t]*e[t] + k2*x[t], a'[t] == -k4*a[t]*e1[t] + k5*y[t], b'[t] == k3*x[t], g'[t] == k6*y[t], e'[t] == -k1*s[t]*e[t] + k2*x[t] + k6*y[t], e1'[t] == -k4*s[t]*e[t] + k5*y[t] + k3*x[t], x'[t] == k1*s[t]*e[t] - k2*x[t] - k3*x[t], y'[t] == k4*a[t]*e1[t] - k5*y[t] - k6*y[t], s[0] == 4, a[0] == 0.91, e[0] == 0.36, b[0] == 0, g[0] == 0, e1[0] == 0, x[0] == 0, y[0] == 0}, y, {t, 0, totaltime}, {k1, k2, k3, k4, k5, k6}]; fit = FindFit[dataset1, model[k1, k2, k3, k4, k5, k6][t], {k1, k2, k3, k4, k5, {k6, 0}}, t] Plot[model[k1, k2, k3, k4, k5, k6][t] /. fit, {t, 0, 30}, Epilog -> {Red, Point[dataset1]}] 
5 Replies
Sort By:
Posted 10 years ago
 There are a few issues.(1) You do not explain what is going wrong. That really belongs in the post.(2) There seem to be a bunch of multiplication operators missing, e.g k1s[t] should be k1*s[t].(3) If I follow correctly you are letting t range from 0 to 30 but only solve up to t=6.There may be other issues lurking but those were the ones I could readily find.
Posted 10 years ago
 @ Daniel, Multiplicative operator was in the code but some of it didn't show under reply preview. Attached is the code file that shows all the prompted errors. The values of some of the rate constants are out of range. Likewise, the model curve and the experimental curve are totally out of conformity. Thanks for your help. Attachments:
Posted 10 years ago
 You still need to address the third issue I had mentioned. Beyond that there seems to be a difficult issue: getting reasonable starting approximations for the rate constants might be key to getting convergence in the fitting process. If the values used in FindFit are such that NDSolve cannot go to t=30 then the result you are seeing is not surprising (and the warning messages are quite to the point about this).One possibility is to recast as an optimization problem and set NMinimize loose on it. That might give values that you can work with either directly, or as inputs to FindFit.
Posted 10 years ago
 I placed the code in a code box. The asterisks are visible now. See http://community.wolfram.com/groups/-/m/t/270507 , "How to post and use Wolfram Community".
Posted 10 years ago
 Thanks