我正在使用Eigen :: Map来访问从C数组创建对象。我想将该对象保存为MatrixXf类型的成员变量。
我该怎么做?我找不到将地图转换为矩阵的方法。
感谢。
答案 0 :(得分:2)
只需使用operator=
:
MatrixXd mat;
mat = Map<MatrixXd>(data, rows, cols);
答案 1 :(得分:0)
我遇到了同样的问题,但向量是恒定的,那么你必须按照@ggael 建议的方式来做,
Eigen::MatrixXd mat = Eigen::Map<const Eigen::MatrixXd>(x.data(), rows, cols);
其中 x 可以是 const Eigen::VectorXd x
或 const std::vector<double>
或 C 类型数组。