javascript - 无法使用 math.js 使 Lotka-Volterra 方程稳定振荡

标签 javascript differential-equations math.js

我正在尝试用 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。但是,我的结果如下所示:

enter image description here

当我期待在这些 PDF slides 中看到的稳定振荡时:

enter image description here

会不会是 ndsolve 的实现导致了这个?还是由于浮点运算导致的 JavaScript 机器错误?

最佳答案

无视,错误只是使用了太大的评估步骤(dt = 0.1,必须至少为 0.01)。此问题所使用的数值方法是众所周知的。

关于javascript - 无法使用 math.js 使 Lotka-Volterra 方程稳定振荡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47464286/

相关文章:

javascript - JS 数组旁边的复选框

javascript - 在不支持 vw 或 vh 属性的旧移动浏览器中会发生什么情况?

javascript - 使用 Jasmine 在 CoffeeScript 中测试 Backbone.js 时出现类型错误

Matlab - 矩阵微分方程 [更新矩阵值? ]

javascript - Math.js 访问矩阵中的单个元素

javascript - 删除事件监听器 vanilla JS

Python 用户输入方程

wolfram-mathematica - 在 Mathematica 中求解微分方程

javascript - 如何包含和使用 math.js

javascript - Javascript Julia Fractal缓慢且不详细