鉴于vector<vector<double > > A_STL
,我希望将其转换为arma::mat A
。
答案 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应该是专栏。