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

时间:2015-06-02 09:51:09

标签: c++ stl armadillo

鉴于vector<vector<double > > A_STL,我希望将其转换为arma::mat A

1 个答案:

答案 0 :(得分: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);

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