[R-sig-dyn-mod] Please help one Law of Mass Action Model
Jinsong Zhao
j@zh@o @end|ng |rom ye@h@net
Fri Mar 6 07:14:07 CET 2020
Hi there,
I got the solution. It's my fault.
The function revised to the following form, then I got the same result.
mass <- function(time, state, params) {
with(as.list(c(state, params)), {
H2O <- K3 * H * O
dH <- -K1 * H2O
dO <- -K2 * H2O
dH2O <- H2O
list(c(dH, dO, dH2O))
})
}
Best,
Jinsong
On 2020/3/5 22:16, Jinsong Zhao wrote:
> Hi there,
>
> I am trying to use deSolve package to reproduce the Law of Mass Action
> Model that demonstrated in Hannon & Ruth (2014), Chapter 6. The original
> model is run under STELLA. The model equation is listed as:
>
> H(t) = H(t - dt) + (-ΔH) * dt
> INIT H = 200
> OUTFLOWS:
> ΔH = ΔH2O*H_PER_H2O
> H2O(t) = H2O(t - dt) + (ΔH2O) * dt
> INIT H2O = 0
> INFLOWS:
> ΔH2O = K*H*O
> O(t) = O(t - dt) + (-ΔO) * dt
> INIT O = 100
> OUTFLOWS:
> ΔO = O_PER_H2O*ΔH2O
> H_PER_H2O = 2
> K = 0.005
> O_PER_H2O = 1
>
> The computer models of the book are also available at
> www.iseesystems.com/modelingdynamicbiologicalsystems.
>
> And the code I written in R is:
>
> mass <- function(time, state, params) {
> with(as.list(c(state, params)), {
> dH2O <- K3 * H * O
> dH <- -K1 * H2O
> dO <- -K2 * H2O
> list(c(dH, dO, dH2O))
> })
> }
>
> params <- c(K1 = 2,
> K2 = 1,
> K3 = 0.005)
> state <- c(H = 200,
> O = 100,
> H2O = 0)
> time <- seq(0,5)
> out <- ode(state, time, mass, params)
> plot(out)
>
> However, I can not get the same or similar results.
>
> I would really appreciate if you would like to give me any suggestion or
> hint.
>
> Best regards,
> Jinsong
More information about the R-sig-dynamic-models
mailing list