繁体   English   中英

eigen::vectorXf 到 MatriXf 映射

[英]eigen::vectorXf to MatriXf map

在 eigen c++ 中,如何将 vectorXf 映射到 matrixXf(具有适当的维度)

(有关于如何为外部对象执行此操作的好文档,所以我知道我们可以这样做:

MatrixXf x_cen=Map<MatrixXf>(*x,*n,*p);

但是如果xVectorXf呢?

您可以使用 .data() 成员函数后跟 Map:

VectorXf vec(rows*cols);
vec = ...;
Map<MatrixXf> vec_view_as_a_matrix(vec.data(), rows, cols);

然后您可以像使用任何 Eigen 对象一样使用 vec_view_as_a_matrix,对 vec_view_as_a_matrix 的修改也将报告给 vec,因为它们共享内存。 如果要复制到新的 MatrixXf 对象,请使用您编写的构造:

MatrixXf x_cen = Map<MatrixXf>(vec.data(), rows, cols);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM