抚顺您做煮火锅网站,深圳企业名录深圳黄页,网站开发违约解除合同通知函,六安公司网上一篇介绍了一个指数增长模型。然而#xff0c;我们也看到#xff0c;在现实情况下#xff0c;细菌培养的增长是在离散的时间#xff08;在这种情况下是小时#xff09;进行测量的#xff0c;种群并没有无限增长#xff0c;而是趋于以S形曲线趋于平稳#xff0c;称为“…上一篇介绍了一个指数增长模型。然而我们也看到在现实情况下细菌培养的增长是在离散的时间在这种情况下是小时进行测量的种群并没有无限增长而是趋于以S形曲线趋于平稳称为“逻辑曲线”。
数学生物学-1-指数增长与衰退(Exponential Growth and Decay)-CSDN博客
这里发生的是由于培养基中食物数量有限细菌细胞由于竞争食物而生长减缓因此种群也开始以更慢的速度增长越来越趋于稳定。 在本篇中我们将提出一个描述这种增长的一般模型以及两个替代模型。 数学上这个过程可以用所谓的“离散逻辑模型”来描述。这是一个类似于之前表达的方程式的形式 其中r是繁殖率常数K是模型的承载能力。如之前所示指数增长模型在生物学上是不现实的因为它显示了无限增长。正如我们将看到的离散逻辑模型纳入了一个承载能力防止了无限增长。带有N^2t的项代表了种群内的种内竞争。
这其实可以表示为一个微分方程 我们假定r1.5N100使用R语言求解微分方程得
# 加载所需的包
library(deSolve)# 定义逻辑斯蒂增长模型
logistic_growth - function(time, state, parameters) {with(as.list(c(state, parameters)), {dN - r * N * (1 - N/K)return(list(dN))})
}# 初始条件和参数
state - c(N 10) # 初始菌群数量
parameters - c(r 1.5, K 100) # 增长率和承载能力# 时间向量
times - seq(0, 50, by 0.1)# 求解微分方程
out - ode(y state, times times, func logistic_growth, parms parameters)# 绘制菌群增长曲线
library(ggplot2)
ggplot(data.frame(out), aes(x time, y N)) geom_line() labs(x Time, y Population Size, title Logistic Growth of Bacterial Population) theme_minimal() 对离散逻辑函数的增强
我们应该注意到离散逻辑方程的实现会遇到一个问题即当N的值较大时会给出一个负值。当然也有其他形式的离散逻辑方程如de Vries等人2006所建议的可以解决这个问题。
方案一Beverton-Holt模型
选项I 其中一个替代模型是所谓的Beverton-Holt模型Beverton和Holt 1993Geritz和Kisdi 2004该模型是为渔业而推导出来的用以下离散逻辑方程代替 with r 1 and (of course) K 0. Note Nt1 0 for all t.
方案二Ricker模型
另一个模型是所谓的Ricker模型Ricker 1954Geritz和Kisdi 2004也是为渔业而推导出来的用以下离散逻辑方程代替 with r 1 and K 0. Again, note that Nt1 0 for all t.
我们分别可视化看一下
library(ggplot2)# 参数设置
r - 1.5
K - 100
N - seq(0, K, length.out 100)# 离散逻辑模型DLM
g_DLM - r * N * (1 - N/K)# Beverton-Holt模型B-H
g_BH - N * (1 - N/K)^r# Ricker模型
g_Ricker - N * exp(r * (1 - N/K))# 创建数据框
df - data.frame(N N, g_DLM g_DLM, g_BH g_BH, g_Ricker g_Ricker)# 绘制图形
p - ggplot(df, aes(x N)) geom_line(aes(y g_DLM, color Discrete Logistic Model), linewidth 1) geom_line(aes(y g_BH, color Beverton-Holt Model), linewidth 1) geom_line(aes(y g_Ricker, color Ricker Model), linewidth 1) scale_color_manual(name Model,values c(Discrete Logistic Model blue,Beverton-Holt Model red,Ricker Model green)) labs(title Growth Functions for Discrete Models,x Population Size (N),y Growth Rate,caption r 1.5, K 100) theme_minimal() theme(text element_text(size 12),plot.caption element_text(hjust 0.95))# 显示图形
print(p) 或者可以可视化为 这三种模型都可以用一个生长函数来表达形式如下 如果我们观察生长函数 g(N) 依赖于 N 的方式我们可以看到离散逻辑模型导致 Nt1 为负的问题是如何产生的而对于 Beverton-Holt 和 Ricker 模型则不会。请注意图中所有三个函数都在 N K此图中为 100处相交此时生长函数等于 1.0。
总结
离散逻辑模型通过引入一个承载能力来解决第章中提出的简单指数增长模型的问题该承载能力防止种群无限增长。另一方面离散逻辑模型有一个弱点即当 N 的值足够大时下一个计算出的种群大小将为负。Beverton-Holt 和 Ricker 等替代模型通过使用不会变为负数的生长函数来解决这个弱点。