C++ 从具有行主顺序的数组创建特征矩阵

C++ 从具有行主顺序的数组创建特征矩阵,c++,matrix,eigen,C++,Matrix,Eigen,我有一个双倍数组,我想用特征库创建一个4乘4的矩阵。我还想指定数据以行主顺序存储。我该怎么做 我尝试了以下方法,但无法编译: double data[16]; Eigen::Matrix4d M = Eigen::Map<Eigen::Matrix4d>(data, 4, 4, Eigen::RowMajor); 双数据[16]; Eigen::Matrix4d M=Eigen::Map(数据,4,4,Eigen::RowMajor); 您需要将行主矩阵类型传递给映射,例如: Ma

我有一个双倍数组,我想用特征库创建一个4乘4的矩阵。我还想指定数据以行主顺序存储。我该怎么做

我尝试了以下方法,但无法编译:

double data[16];
Eigen::Matrix4d M = Eigen::Map<Eigen::Matrix4d>(data, 4, 4, Eigen::RowMajor);
双数据[16];
Eigen::Matrix4d M=Eigen::Map(数据,4,4,Eigen::RowMajor);

您需要将行主矩阵类型传递给映射,例如:

Map<Matrix<double,4,4,RowMajor> > M(data);
如果要将数据复制到真列主特征矩阵,请执行以下操作:

Matrix4d M = Map<Matrix<double,4,4,RowMajor> >(data);
Matrix4d M=Map(数据);

当然,您也可以使用M的正确类型复制到行主矩阵。

您会得到什么错误?ggael的答案中缺少什么?如果它回答了你的问题,你应该把它标记为你问题的答案。如果没有,请在回复中详细说明您需要的其他帮助。使用动态并将大小传递给ctor:
Map(数据、nbRows、nbColumns)
Matrix4d M = Map<Matrix<double,4,4,RowMajor> >(data);