1
Предоставлено vector<vector<double > > A_STL
, я хочу, чтобы оно преобразовано в arma::mat A
.Как преобразовать вектор STL вектора в армадило?
Предоставлено vector<vector<double > > A_STL
, я хочу, чтобы оно преобразовано в arma::mat A
.Как преобразовать вектор STL вектора в армадило?
Одним простым способом было бы сгладить вектор векторной матрицы в один размерный вектор. Поэтому вы можете использовать свой конструктор 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 должен иметь значение столбца.
Что вы попробовали? Что не сработало? И почему вы настаиваете на искажении своего форматирования? – Quentin
Поскольку A_STL на самом деле является вектором векторов, а не только вектором double –
Да, увидел это и не изменил его. Но без «правильного форматирования» ваши шаблонные экземпляры становятся раздетыми как неверные тэги html. – Quentin