怎么让特征值和特征向量输出时好看一点eigen
时间: 2024-05-15 21:14:13 浏览: 8
可以使用Eigen库中的`operator<<`函数来打印特征值和特征向量。为了使输出更美观,可以使用`Eigen::IOFormat`类来格式化输出:
```c++
#include <iostream>
#include <Eigen/Dense>
int main()
{
Eigen::MatrixXd A(2,2);
A << 1, 2, 2, 3;
std::cout << "Matrix A:\n" << A << std::endl;
Eigen::SelfAdjointEigenSolver<Eigen::MatrixXd> eigensolver(A);
if (eigensolver.info() != Eigen::Success) {
std::cout << "Eigen solver failed!" << std::endl;
return 1;
}
std::cout << "Eigenvalues:\n" << eigensolver.eigenvalues().format(Eigen::IOFormat(4, 0, ", ", "\n", "[", "]")) << std::endl;
std::cout << "Eigenvectors:\n" << eigensolver.eigenvectors().format(Eigen::IOFormat(4, 0, ", ", "\n", "[", "]")) << std::endl;
return 0;
}
```
这里的`Eigen::IOFormat(4, 0, ", ", "\n", "[", "]")`表示使用4位精度,0个小数位,以逗号和空格分隔元素,以换行分隔行,以方括号包围矩阵的输出。你可以根据需要调整这些参数。