Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 具有runge_-kutta4的高维阵列_C++_C++11_Boost - Fatal编程技术网

C++ 具有runge_-kutta4的高维阵列

C++ 具有runge_-kutta4的高维阵列,c++,c++11,boost,C++,C++11,Boost,我想用boost::numeric::odeint::runge_kutta4解一个耦合微分方程组。这是一个3D晶格系统,所以我很自然(也很方便)使用3D阵列。runge_kutta4是否有办法处理用户定义的数据结构或boost multi_阵列 原则上这是可能的。odeint提供了一种使用自定义数据结构(代数和运算)的机制。看一看。要么使用现有代数中的一个,并尝试调整数据结构以使用此代数。或者实现自己的代数,并用它实例化龙格库塔步进器 您可能还想查看一个库,如Eigen、Mtl4、boost.

我想用boost::numeric::odeint::runge_kutta4解一个耦合微分方程组。这是一个3D晶格系统,所以我很自然(也很方便)使用3D阵列。runge_kutta4是否有办法处理用户定义的数据结构或boost multi_阵列

原则上这是可能的。odeint提供了一种使用自定义数据结构(代数和运算)的机制。看一看。要么使用现有代数中的一个,并尝试调整数据结构以使用此代数。或者实现自己的代数,并用它实例化龙格库塔步进器


您可能还想查看一个库,如Eigen、Mtl4、boost.ublas或Armadillo。它们可能具有高阶张量的数据类型。例如,Eigen在odeint中工作得很好。

犰狳有一个类,它本质上是一个三阶张量(又称“3D矩阵”),我尝试使用boost::multi_数组,即使是二维数组,但它似乎不起作用。@headmyshoulder您能提供一个使用Eigen::matrix的简单示例吗?我试图运行一个测试,但我得到了很多错误。我认为这是最主要的一个:错误:没有匹配函数来调用“begin(const-Eigen::Matrix&)”