我正在尝试用 JavaScript 实现一个简单的 Lotka-Volterra 系统,但得到的结果与我在学术论文和幻灯片中看到的不同。这是我的方程式:
sim2.eval("dxdt(x, y) = (2 * x) - (x * y)");
sim2.eval("dydt(x, y) = (-0.25 * y) + (x * y)");
使用系数 a = 2、b = 1、c = 0.25 和 d = 1。但是,我的结果如下所示:
当我期待在这些 PDF slides 中看到的稳定振荡时:
会不会是 ndsolve 的实现导致了这个?还是由于浮点运算导致的 JavaScript 机器错误?
最佳答案
无视,错误只是使用了太大的评估步骤(dt = 0.1,必须至少为 0.01)。此问题所使用的数值方法是众所周知的。
关于javascript - 无法使用 math.js 使 Lotka-Volterra 方程稳定振荡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47464286/