如果x是浮点数的非特征向量,我可以通过以下方法将其映射到eigen::MatrixXf:
MatrixXf x_cen=Map<MatrixXf>(*x,*n,*p);但随后,对x_cen的修改也将报告给x,因为它们共享内存。我想要的是避免这种情况。我希望将x深度复制到eigen::MatrixXf x_cen,以确保对x_cen所做的更改不会报告给x。如何做到这一点?
发布于 2013-01-26 18:04:42
你的代码:
MatrixXf x_cen=Map<MatrixXf>(*x,*n,*p);已经在做深度复制了!所以你很棒。在Eigen中没有浅层副本。
为了完整起见,可以命名一个Map<>对象,以便像使用MatrixXf一样使用它
Map<MatrixXf> x_cen(*x,*n,*p);在这种情况下,并且仅在这种情况下,对x_cen的修改将报告给x。
https://stackoverflow.com/questions/14532679
复制相似问题