求解 Lotka–Volterra 方程的数值方法
引言
Lotka–Volterra系统在数学生物学中出现,并且对动物物种的生长建模.考虑两个物种,其中 表示捕食者的数目,而 表示猎物的数量. Lotka–Volterra 微分系统的一个具体实例是:
Lotka–Volterra 系统(1)具有一个不变量,它对于所有 都是恒定的:
不变量 (1) 的水平曲线是闭合的,这使得解是周期性的. 我们期望 (2) 的数值解也是周期性的,但事实并非总是如此. 注意,(3) 是一个泊松系统:
泊松系统和泊松积分器在 [HLW02] 和 [MQ02] 的章节 VII.2 中讨论.
显式欧拉
后退欧拉
投影
分裂
另一个获取正确定性行为的方法是使用加法规则把 (7) 分为两个系统:
辛欧拉
流
考虑分裂 Lotka–Volterra 方程,并且计算(1)中每个系统的流(或者精确解).该解可以通过如下方式找到,其中常量应该与每个步骤的初始条件相关.
局部计算流的一个优点是它产生一个显式,并且非常有效的积分过程. "LocallyExact" 方法提供一个只在初始阶段使用 DSolve 来计算每个分裂的流的一般方法.