Решение дифференциального уравнения в R - deSolve - PullRequest
1 голос
/ 12 февраля 2020

У меня есть уравнение, приведенное ниже;

dN/dt = N(t)G(t)

G(t) задается уравнением: dG/dt = a * G Как решить эту проблему в R, используя функцию ode из пакета deSolve?

1 Ответ

0 голосов
/ 20 февраля 2020

Как уже упоминалось в дарио, в этом вопросе отсутствуют некоторые детали. Тем не менее, давайте попробуем ответить. Если предположить, что a < 0, модель выглядит как од-формулировка роста Гомперца:

dN/dt = N * G
dG/dt = a * G

Это может быть решено как:

library(deSolve)

model <- function(t, y, p) {
  with(as.list(c(y, p)), {
    dN <-  N * G
    dG <-  a * G
    list(c(dN, dG))
  })
}

y      <- c(N = 1, G = 1)
parms  <- c(a = -0.1)
times  <- seq(0, 100)
out <- ode(y, times, model, parms)
plot(out)
...