Load Eigen double matrix from csv file.
Load Eigen Matrix from csv file.
60{
61
62 std::vector<double> matrix_entries;
63
64
65 std::ifstream matrix_data_file(filename);
66
67
68 std::string matrix_row_string;
69
70
71 std::string matrix_entry;
72
73
74 int matrix_row_number = 0;
75
76
77
78 while (std::getline(matrix_data_file, matrix_row_string))
79 {
80
81 std::stringstream matrix_row_string_stream(matrix_row_string);
82
83
84
85
86 while (std::getline(matrix_row_string_stream, matrix_entry, ','))
87 {
88
89
90 matrix_entries.push_back(stod(matrix_entry));
91 }
92
93
94 matrix_row_number++;
95 }
96
97
98
99
100
101
102 return Eigen::Map< Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic,
103 Eigen::RowMajor>>(matrix_entries.data(), matrix_row_number,
104 matrix_entries.size() / matrix_row_number);
105}