数值积分是科学计算的核心工具之一。每当物理、生物、化学、机械、电气或控制系统通过微分方程进行建模时,接下来的实际问题通常不仅是“方程是什么?”,还包括“应该信任哪种数值方法来模拟它?”
这个问题比初看起来更为微妙。在平滑非刚性控制示例中表现非常好的数值积分器,可能在刚性化学动力学模型上完全失效。一种在短时间内提供极佳精度的方法,可能会缓慢地破坏机械系统的能量。一种计算成本低廉的方法可能需要极小的时间步长,从而变得效率低下。一种对一个方程稳定的方法,可能对另一个方程不稳定。
因此,应当通过揭示不同数学行为的基准方程来研究数值积分器:线性稳定性、振荡、非线性刚性、混沌、守恒律以及长时间轨道动力学。
本文全面讨论了在 MATLAB 中对微分方程积分器进行基准测试的问题。该讨论基于以下项目:
GitHub 仓库:
https://github.com/mohammadijoo/DifferentialEquationIntegratorBenchmarks_MATLAB
该仓库在经典基准问题上实现并比较了广泛的常微分方程数值积分器集合。配套的 YouTube 模拟视频展示了 MATLAB 实现过程、生成的图表、MATLAB 源代码以及导出的 CSV 指标文件。
视频:微分方程积分器基准测试的 MATLAB 实现,包括仓库代码执行、生成的图表和 CSV 指标文件。
1. 初值问题与数值积分器的作用
此基准框架中的主要数学对象是初值问题:
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。
