将刚性ODE与Java集成

时间:2015-05-11 10:15:23

标签: java ode

是否有适用于Java的免费开源僵硬集成库?

我目前正在使用Apache Commons Math Library中的Dormand-Prince 8(5,3)集成商。我正在为我的模型实现DAE近似,所以我可以使用这个积分器,但我有兴趣在直接ODE系统上尝试一个刚性求解器进行比较。

我搜索过,但似乎找不到任何直接的答案。类似于MATLAB for Java中的ode15s解算器?

2 个答案:

答案 0 :(得分:3)

是的,Apache Commons Math library中的所有求解器主要用于非僵硬问题。 DormandPrince853Integrator是一个很好的一般选择,但即使对于轻度僵硬的问题,它也可能表现不佳。

您可能会查找LSODE/ODEPACK的实现或直接调用此版本的C或FORTRAN版本。开源Matlab替代方法Octave使用lsode来解决ODE(还有一些R和Python接口)。

您可以阅读Matlab的ode15s背后的算法以及本文中的其他方法:

  

升。 F. Shampine和M. W. Reichelt," MATLAB ODE Suite",SIAM Journal on Scientific Computing,18-1,1997,PDF link,DOI:10.1137/S1064827594276424

答案 1 :(得分:1)

根据horchler的回答,您可以查看JavaOdeInt ,它提供了基于Fortran的解算器的界面。