什么 ODE 求解器使用步进函数中的计算进行插值?
我对具有不同初始条件的 ODE 的多个解进行平均,因此所有解同时具有值非常重要;例如,增量为 0.01。
我一直在使用数值食谱 3 (nr3) 中的 ODE 例程。他们进行自适应大小步长并使用计算值进行相同顺序的插值。我不能使用它们,因为它们与升压冲突。还有其他类似的套路吗?
我看了 GSL,它非常好,但它没有内置插值。我可以做到的一种方法是用自适应大小求解 ODE,然后运行 Akima 插值。但看起来 nr3 解决方案会更快、更准确。
I average over a multiple solutions of ODEs that have different initial conditions, so it's important for all of the solutions to have values at the same times; for example, at an increment of 0.01.
i've been using ODE routines from numerical recipes 3 (nr3). they do adaptive size-step and use the calculated values to do the same order of interpolation. i can't use them because they conflict with boost. are there any other similar routines?
i looked at GSL, it's very nice but it doesn't have a built in interpolation. one way i can do it is solve the ODE with an adaptive size and than run Akima interpolation. But it seems like nr3 solution would be faster and more accurate.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 odeint。它具有用于密集输出的 Dopri5、Rosenbrock4 和 Burlish-Stoer。
You can use odeint. It has Dopri5, Rosenbrock4 and Burlish-Stoer for dense output.
我使用了 http://www.unige.ch/~hairer/software.html< 中的 DOPRI5 /a> 密集输出 = 插值。我发现它可靠。我使用了原始版本(Fortran);同一网页上还有一个 C 版本,我自己没有使用过,但我似乎记得人们对此很满意。
I have used DOPRI5 from http://www.unige.ch/~hairer/software.html with dense output = interpolation. I found it reliable. I used the original version (in Fortran); there is also a C version on the same webpage which I haven't used myself but I seem to remember that people were happy with it.