有什么问题或者好的方法,欢迎批评指正!
Eigen::Matrix2d d;
d << 2, 3, 2, 1;
Eigen::EigenSolver<Eigen::Matrix2d> eigen_solver(d);
cout << d << endl;
Eigen::MatrixXd vectors, vals;
vectors = eigen_solver.pseudoEigenvectors();
vals = eigen_solver.pseudoEigenvalueMatrix();
//int col_index, row_index;
//vals.minCoeff(&row_index, &col_index);
int col;
if(vals(0,0) >= vals(1,1)) //寻找特征值小的所对应的的特征向量
col = 1;
else
col = 0;
Eigen::Vector2d normal;
normal << vectors(0, col), vectors(1, col);
cout << "特征值" << vals << endl;
cout << "特征向量" << vectors << endl;
cout << "法向量" << normal << endl;