【发布时间】:2015-04-12 07:11:24
【问题描述】:
我正在尝试使用给我的示例在 R 中创建一个图表来显示人口的承载能力:
install.packages("deSolve", dependencies = TRUE)
clogistic <- function(times, y, parms){
n <- y[1]
r <- parms[1]
alpha <- parms [2]
dN.dt <- r * n * (1 - alpha * n)
return(list(c(dN.dt)))
}
prms <- c(r = 1, alpha = 0.01)
init.N <- c(1)
t.s <- seq(0.1, 10, by = 0.1)
library(deSolve)
out <- ode(y = init.N, times = t.s, clogistic, parms = prms)
plot(out[,1], out[,2], type="l", xlab = "Time", ylab = "N", col = "blue", lwd = 2)
现在我正在使用它来尝试显示 178 的起始人口,在 15 个时间步长中增加了 21。但是当我尝试更改公式时,它会在一个时间步后减小并触底,并在剩余时间保持底部。 我尝试将 init.N
【问题讨论】:
-
跟进@BondedDust的回答:生态学中逻辑方程的更常见形式是
r * n * (1 - n/K),其中K是承载能力(=稳定平衡值只要r>0,K>0,n(0)>0)。这可能会让事情更容易理解。
标签: r data-modeling