使用 Eigen 库创建对角矩阵

问题描述 投票:0回答:1

我想使用 Eigen 库创建一个对角矩阵,但我遇到了问题。

当我运行以下代码时,

Eigen::DiagonalMatrix<float, 2> diagonalMatrix1(2,2);
std::cout << "Diagonal Matrix:\n" << diagonalMatrix1 << endl;

我收到以下错误。

error: no type named ‘type’ in ‘struct std::enable_if<false, std::basic_ostream<char>&>’

我无法打印对角矩阵。有人可以帮我吗?

c++ eigen3
1个回答
0
投票

您可以将其转换为可打印类型,然后打印它,例如:


int main()
{
    Eigen::DiagonalMatrix<float, 2> matrix(2,2);

    std::cout << "matrix:\n" << matrix.toDenseMatrix() << std::endl;
}
matrix: 
2 0
0 2
© www.soinside.com 2019 - 2024. All rights reserved.