将硬ODE与Java集成

是否有任何免费的Java开源僵硬集成器库?

我目前正在使用Apache Commons Math Library中的Dormand-Prince 8(5,3)集成器.我正在为我的模型实现DAE近似,因此我可以使用此积分器,但是我想对直接ODE系统上的刚性求解器进行比较感兴趣.

我到处搜寻,但似乎找不到直接的答案.与MATLAB for Java中的ode15s求解器相似吗?

解决方法:

是的,Apache Commons Math library中的所有求解器都主要用于非刚性问题. DormandPrince853Integrator是一个很好的常规选择,但是即使对于轻度僵硬的问题,它也可能效果不佳.

您可能会寻找LSODE/ODEPACK的实现,或直接调用C或FORTRAN版本.开源的Matlab替代品Octave使用lsode求解ODE(也有一对R和Python接口).

您可以在本文中了解Matlab ode15s背后的算法和其他方法:

L. F. Shampine and M. W. Reichelt, “The MATLAB ODE Suite”, SIAM Journal on Scientific Computing, 18-1, 1997, 07006, DOI: 07007

上一篇:C#CopyFromScreen问题


下一篇:javascript typeof 和 constructor比较