捕食者-被食者模型(洛特卡-沃尔泰拉) 返回
数理生态学·生物数学

捕食者-被食者模型(洛特卡-沃尔泰拉)模拟器

调节α、β、γ、δ参数,体验种群数量振荡周期如何变化。位相平面的闭合轨迹直观展示洛特卡-沃尔泰拉系统的守恒性。通过兔子与狐狸的例子,轻松入门非线性动力学。

预设场景
模型选择
方程参数
α: 被食者增长率
β: 捕食率
γ: 捕食者死亡率
δ: 捕食→增长率
初始条件
x₀: 初始被食者数
y₀: 初始捕食者数 5
模拟时间 200
主要指标
计算结果
被食者平衡点 xₑ
捕食者平衡点 yₑ
被食者最大值
捕食者最大值
时间序列图 / 位相平面(相平面图)
时间序列
时间序列:被食者(蓝)和捕食者(红)的种群数量变化
位相平面
位相平面:闭合轨迹证实周期振荡(箭头表示时间方向)
理论与主要公式
$$\frac{dx}{dt}= \alpha x - \beta xy$$ $$\frac{dy}{dt} = \delta xy - \gamma y$$

平衡点: $x_e = \gamma/\delta$, $y_e = \alpha/\beta$

守恒量: $V = \delta x - \gamma\ln x + \beta y - \alpha\ln y$

捕食者-被食者模型简介

🙋
「捕食者和被食者的数量周期性增减」这是教科书上说的,真的会这么规律地循环吗?
🎓
简单地说,就是因为有时间延迟的反馈机制。比如兔子(被食者)增加了,狐狸(捕食者)数量会后延增加。狐狸太多了,兔子就大幅减少,然后狐狸饿死而减少……这样的循环产生振荡。在模拟器里,试试调大「初始被食者数」,你会看到这个延迟效应。
🙋
但自然界里资源是有限的,这个模型考虑进去了吗?
🎓
问得好!古典模型不考虑资源限制。我们引入了「环境容纳量K」来解决这个问题。在「模型选择」里换成「逻辑斯蒂增长」,缩小K值,看看振荡怎么变化。这就是理论和现实的结合。
🙋
下面那个「位相平面」图和时间序列图有什么区别?那个转圈的线很有趣。
🎓
那「转圈」就是这个模型的灵魂!横轴是兔子数,纵轴是狐狸数,时间用箭头表示。闭合环代表周期振荡,如果螺旋向中心收缩就说明系统稳定了。这种「位相平面分析」在非线性控制系统设计里也经常用。改变参数时,轨迹形状会很显著地变化,你自己看一下。

常见问题

没有出错。洛特卡-沃尔泰拉系统是守恒系统,改变参数时周期理论上不变,但轨道的形状和幅度会改变。特别是改变α和γ时,平衡点移动会让人感觉周期变化不明显。试试改变初始条件,或者看轨道在位相平面上的变化。
这是数值积分误差。虽然洛特卡-沃尔泰拉方程理论上有守恒量(李雅普诺夫函数),但数值计算(龙格-库塔法等)无法完全保守,轨迹会慢慢偏离。更高精度的辛几何积分器或更小的时间步长可以改善。
数值溢出和不稳定性。洛特卡-沃尔泰拉方程在极端大的初始值下,被食者的指数增长和捕食者的爆炸式增加会破坏数值求解器的稳定性。现实中生态系统也有环境容纳力限制。建议初始值设在1~100范围内。
不能。这是教育用的理论模型。现实生态系统涉及环境容纳力、季节变化、空间结构、多物种互动等复杂因素。洛特卡-沃尔泰拉只是定性理解振荡的工具,不适合定量预测。

实际应用

生态学与资源管理:用于渔业管理中「鱼类(被食者)」与「捕鱼努力(相当于捕食者)」的关系建模,预测可持续捕捞量。模拟能显示过度捕捞如何导致资源崩溃。

病毒学与流行病学:宿主(被食者相当)与病原体(捕食者相当)的互动,是传染病流行波的基础模型。免疫获得、接种等可用参数表达。

经济学:库存(被食者)与生产订单(捕食者)间的"库存波动(牛鞭效应)"分析用到类似的振荡模型。供应链不稳定性研究工具。

CAE与控制工程:非线性振荡的位相平面分析方法在机械振动控制和化学反应速率论中应用相同。用这个工具改变参数来研究平衡点稳定性,正是控制系统设计的基础训练。

常见误区与注意事项

开始使用这个模拟器时,有几个重要的概念要理清。首先,「参数不是现实数值的直译」。比如α=0.1不是说「每天增长10%」,时间单位(天、月、年)需要提前约定。模拟中只有参数间的相对大小关系重要。如果在实际项目中使用,需要从野外数据反向拟合参数,这是单独的工作。

其次,初始条件对结果影响很大。在经典模型里,远离平衡点的初始值会产生美丽的周期解,但如果兔子设为0,狐狸就无法存活,振荡不再出现。这反映了「没有被食者,捕食者无法生存」的自然规律。在带逻辑斯蒂项的模型中,如果环境容纳量K比初始个体数还小,被食者本身就会迅速下降。调参时要一次改一个,思考其物理意义,这样才能深刻理解。

最后,模型是完全确定论的,忽略了随机性。现实生态里,疾病、恶劣天气、个体相遇的随机性都很重要。这个模拟器是决定论系统,给定参数和初值就总是同样的结果。学习基础时很好,但要处理真实的不确定性,需要用「随机微分方程」等更高级的工具。

使用指南

  1. 设置被食者增殖率(α)、被食者捕食率(β)、捕食者死亡率(γ)和捕食者效率(δ)四个参数。标准值为兔子种群α=0.5/年、狐狸捕食率β=0.02/(个体·年)
  2. 输入初始个体数,指定模拟时间段(通常20~50年),点击运行按钮
  3. 在时间序列图上观察两个物种的个体数变化,在位相平面图上观察平衡点周围的周期轨迹模式。平衡点xₑ=γ/δ、yₑ=α/β自动计算显示

具体计算示例

在兔子(被食者)和狐狸(捕食者)生态系统中,设α=0.6/年、β=0.015、γ=0.4/年、δ=0.01时:平衡点为兔子xₑ=40个体、狐狸yₑ=40个体。从初始值兔子50个体、狐狸30个体开始模拟,会观察到兔子增至约80个体后下降,狐狸达到约60个体的峰值,周期约为3.8年的振荡。该周期与理论值ωₚ=√(αγ)=1.55rad/年一致

实务中的注意事项

  1. 野生动物管理中,增加捕食率β会提高两种生物的平衡点,但被食者个体数波动幅度增大,种群崩溃风险上升
  2. 在逻辑斯蒂增长模型(设定被食者环境容纳量K)中,普通的洛特卡-沃尔泰拉周期振荡会减弱,趋向更稳定的平衡
  3. 模拟时间过短(5年以下)会误判过渡响应。建议采集至少3个周期的数据(约10~15年),以准确识别振荡规律