我有一个双打数组,我想用Eigen库创建一个4乘4的矩阵.我还想指定数据以行主顺序存储.我怎样才能做到这一点?
我尝试了以下,但它没有编译:
double data[16];
Eigen::Matrix4d M = Eigen::Map<Eigen::Matrix4d>(data, 4, 4, Eigen::RowMajor);
Run Code Online (Sandbox Code Playgroud)
您需要将行主矩阵类型传递给Map,例如:
Map<Matrix<double,4,4,RowMajor> > M(data);
Run Code Online (Sandbox Code Playgroud)
然后你可以使用M作为特征矩阵,并修改数据的值,例如:
M = M.inverse();
Run Code Online (Sandbox Code Playgroud)
如果要将数据复制到真正的列主要特征矩阵,请执行以下操作:
Matrix4d M = Map<Matrix<double,4,4,RowMajor> >(data);
Run Code Online (Sandbox Code Playgroud)
当然,您也可以使用M的正确类型复制到行主矩阵.
| 归档时间: |
|
| 查看次数: |
6693 次 |
| 最近记录: |