如何在微分方程中包含参数的时间变化

时间:2019-04-26 19:50:07

标签: r

我正在创建生物膜动态模型,并且希望包括某些随时间变化的参数的迭代。

我已经创建了我的模型以使用deSolve软件包进行求解,现在我不知道应该在哪里输入ode解决方案的参数变化。

藻类生长的例子

Biofilm <- function(t, state, parameters) {
  with(as.list(c(state, parameters)), {
    dX <-  (umax * B) * (1/(1+ kinv*B))* (exp(Beta*(T-T0)))*(I/I+kI) -(Cdet * u*(B - B0)) 
           - (kflood* u*(B - B0))-(Cdet * u*(B - B0)) - (kflood* u*(B - B0)) - LGr
     list(c(dX))
  })
}

parameters <- c(B0=0, I = 1, u = 0.37, umax = 1, kinv = 0.9, kflood = 1.6, Cdet = 0.5, Beta = -0.08, T0 = 20, kI = 1, T = 7, LGr=1)
state      <- c(B = 1)
times      <- seq(0, 55, by = 0.041)

out <- ode(y=state, times, Biofilm, parameters)

plot(out)

我获得了预期的逻辑曲线,但是在我的方程中,我需要提供随时间变化的I和T,以获得正弦响应。

0 个答案:

没有答案