作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想使用 boost::numeric::odeint::runge_kutta4 求解耦合微分方程组。它是一个 3D 晶格系统,所以我很自然(也很方便)使用 3D 阵列。有没有办法让 runge_kutta4 使用用户定义的数据结构或 boost multi_array ?
最佳答案
原则上这是可能的。 odeint 提供了一种使用自定义数据结构的机制——代数和运算。看看here .您要么使用现有的代数之一,并尝试调整您的数据结构以使用该代数。或者您实现自己的代数并用它实例化 Runge Kutta 步进器。
您可能还想看看 Eigen、Mtl4、boost.ublas 或 Armadillo 等库。它们可能具有高阶张量的数据类型。例如,Eigen 与 odeint 配合得很好。
关于c++ - 使用 runge_kutta4 的高维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32926848/
我有一个形状像这样的 numpy 数组 x.shape (100, 1, 300, 300) 将此视为对大小为 300x300 的灰度图像的 100 次观察。灰度图像只有 1 个 channel ,因
我是一名优秀的程序员,十分优秀!