我想使用 boost :: numeric :: odeint :: runge_kutta4 来求解耦合微分方程组。它是一个3D点阵系统,因此对我来说(并且方便)使用3D阵列是很自然的。 runge_kutta4是否有办法使用用户定义的数据结构或提升multi_array?
答案 0 :(得分:2)
原则上这是可能的。 odeint提供了一种使用自定义数据结构的机制 - 代数和操作。看看here。您可以使用现有代数之一并尝试调整数据结构以使用此代数。或者你实现自己的代数并用它实例化Runge Kutta步进器。
您可能还想看看像Eigen,Mtl4,boost.ublas或Armadillo这样的库。它们可能具有更高阶张量的数据类型。例如,Eigen与odeint的效果非常好。