[英]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.