我在 C++ 数组中有一些数据,double myData[10]
;我想将此数组的 n
个元素复制到 Eigen 中的 vector ,声明为 Eigen::MatrixXd myVector
。我可以在循环中一次执行一个,但必须有一种方法来复制整个数组。我尝试了这段代码,但它出现编译错误(错误 C2106:'=':左操作数必须是左值):
myVector.resize(4); myVector.data() = myData;
我不想映射数组,因为 C++ 数组将超出范围,并且要复制的额外内存量微不足道。
从 C++ 数组复制到特征向量的适当方法是什么?从二维 C++ 数组到特征矩阵?
最佳答案
您需要使用 Eigen 对象 (Map
) 包装现有数据,然后将其复制到您的对象:
myVector = Eigen::Map<Eigen::MatrixXd>(myData, rows, cols);
关于c++ - 如何将数据从 C++ 数组复制到特征矩阵或 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43907601/