2012-02-29 13 views
12

Próbuję nauczyć się języka C++ z biblioteką Eigen.zapisuje macierz do pliku w eigen?

int main(){ 
    MatrixXf m = MatrixXf::Random(30,3); 
    cout << "Here is the matrix m:\n" << m << endl; 
    cout << "m" << endl << colm(m) << endl; 
    return 0; 
} 

Jak eksportować m do pliku tekstowego (Przeszukałem dokumentacji i nie znalazłem wzmianki o funkcji zapisu)?

Odpowiedz

16

Jeśli można zapisać go na cout, to działa na każdym std :: ostream:

#include <fstream> 

int main() 
{ 
    std::ofstream file("test.txt"); 
    if (file.is_open()) 
    { 
    MatrixXf m = MatrixXf::Random(30,3); 
    file << "Here is the matrix m:\n" << m << '\n'; 
    file << "m" << '\n' << colm(m) << '\n'; 
    } 
} 
+2

co jest Colm() robić? Nie działa mi. – Ludi

0

Napisałem tę funkcję:

void get_EigentoData(MatrixXf& src, char* pathAndName) 
    { 
      ofstream fichier(pathAndName, ios::out | ios::trunc); 
      if(fichier) // si l'ouverture a réussi 
      { 
      // instructions 
      fichier << "Here is the matrix src:\n" << src << "\n"; 
      fichier.close(); // on referme le fichier 
      } 
      else // sinon 
      { 
      cerr << "Erreur à l'ouverture !" << endl; 
      } 
    } 
+0

Merci, powyższa odpowiedź również działała ... :) – user189035

Powiązane problemy