Я хотел бы составить дифференциальное уравнение, в котором пик роста несовершеннолетних существует в течение определенного периода года.В остальное время года наблюдается фоновая рождаемость.Я хотел бы смоделировать это с помощью функции в R, но я застрял.Несовершеннолетние становятся молодыми, а молодые становятся взрослыми (что может воспроизводить новых несовершеннолетних)
Я думал, что было бы возможно использовать функцию в функции, но я получаю ошибку ...
Iтеперь получил:
model = function(t, state, parameters) {
with(as.list(c(state, parameters)), {
dJ = function(t, dJ1, dJ2) {
if (t<213) {dJ = rho*A - a*J*A - c*J - d*J*(1+(J/K1))} else {
dJ = r*A - a*J*A - c*J - d*J*(1+(J/K1))}
}
dY = c*J - e*Y * f*Y*(1+Y/K2) - k*Y*A
dA = e*Y - m*A(1+A/K3)
return(list(c(dJ, dY, dA)))
})
}
run()
Но ... это не работает.Я получил ошибку "Ошибка в lsods (y, times, func, parms, ...): REAL () может быть применен только к 'числовому, а не' списку '"
Если у вас есть какие-либоидеи, как я могу создать такую модель, пожалуйста, дайте мне знать!