在R ODE求解器中根据时间更改变量

时间:2017-12-14 12:03:13

标签: r function ode differential-equations

我有一个模型中有一个微分方程,我在R中使用odesolver解决。你给ode函数的一个参数是时间。有没有办法可以根据解算器中的时间更改另一个变量(例如季节性变化)。我想做的是如下所示,其中ODETIME是ODE中的时间变量。

function1 <- function(r, y, x) {   
  z <- x[which(x$time = ODETIME),2]
  list(- r * y * z)
}
N    <- 10
r    <- runif(N, 15, 20)
yini <- runif(N, 1, 40)
vals <- rep(1:5, 22)
times <- 0:10
x <- data.frame(time = rep(times, 10), vals)
out <- ode(y = yini, parms = NULL, times = times, func = function1)

0 个答案:

没有答案