繁体   English   中英

如何将数据从C ++数组复制到本征矩阵或向量?

[英]How to copy data from C++ array to Eigen matrix or vector?

我在C ++数组中有一些数据,是double myData[10] 我想将此数组的n元素复制到Eigen中的向量中,该向量声明为Eigen::MatrixXd myVector 我可以一次循环执行一次,但是必须有一种复制整个阵列的方法。 我尝试了这段代码,但遇到了编译错误(错误C2106:'=':左操作数必须为L值):

myVector.resize(4); myVector.data() = myData;

我不想映射该数组,因为C ++数组将超出范围,并且要复制的额外内存量很小。

从C ++数组复制到特征向量的合适方法是什么? 从二维C ++数组到本征矩阵?

您需要使用Eigen对象( Map )包装现有数据,然后将其复制到您的对象中:

myVector = Eigen::Map<Eigen::MatrixXd>(myData, rows, cols);

暂无
暂无

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

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