如何将矢量STL矢量转换为犰狳垫?

Pal*_*mar 3 c++ stl armadillo

鉴于vector<vector<double > > A_STL,我希望它被转换成arma::mat A.

coi*_*oin 5

一种简单的方法是将矢量矩阵的矢量展平为一维矢量.因此,您可以使用您的mat(std::vector)构造函数.

代码示例(未测试):

// Flatten your A_STL into A_flat
std::vector<double> A_flat;
for (auto vec : A_STL) {
  for (auto el : vec) {
    A_flat.push_back(el);
  }
}
// Create your Armadillo matrix A
mat A(A_flat);
Run Code Online (Sandbox Code Playgroud)

小心你如何订购矢量矢量.A_flat应该是专栏.