如何转换svd中的最后一列.MatrixV()到3乘3矩阵



我用得到了奇异值分解的V矩阵的第9列

svd.matrixV().array().col(8)

该列由9个元素组成。3.6 -0.0148 -1.922 -4.177 0.0135 -0.00389 -2.29 -0.98 0.21

在Eigen中有没有可以转换svd的9元素列。MatrixV((到3乘3矩阵?

您可以使用Eigen::Map执行以下操作:

Eigen::Map<Eigen::MatrixXf> col_map {svd.matrixV().array().col(8).data(), 3, 3};

然后可以将该映射分配给新的矩阵

Eigen::MatrixXf col_mat {col_map};

最新更新