从映射中获取矩阵 - Eigen?

9

我正在使用Eigen::Map访问从C数组创建对象,我想将该对象保存为MatrixXf类型的成员变量。

我该如何做?我找不到将Map转换为Matrix的方法。

谢谢。

2个回答

12

只需使用operator=

MatrixXd mat;
mat = Map<MatrixXd>(data, rows, cols);

这个会复制吗?还是我需要确保 data 不会超出作用域? - lucidbrot

2

我遇到了同样的问题,但向量是恒定的,那么你需要按照@ggael建议的方式进行操作,

Eigen::MatrixXd mat = Eigen::Map<const Eigen::MatrixXd>(x.data(), rows, cols);

x可以是const Eigen::VectorXd x,也可以是const std::vector<double>或C类型数组。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接