微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 MatrixXd 计算特征求解器抛出错误

如何解决使用 MatrixXd 计算特征求解器抛出错误

大家好,出于某种原因,我必须使用特征矩阵和特征求解器。 在以下代码中:

        MatrixXd matrix(1,3);
        int cpt = 1;
        for (QVector<float> v : coordinates_matrix) {

            matrix.row(cpt-1) = Vector3d(v[0],v[1],v[2]);
            cpt += 1;

            matrix.conservativeResize(cpt,Eigen::NoChange);

        }

        Eigen::EigenSolver<MatrixXd> solver;
        solver.compute(matrix);

问题是,当我尝试计算矩阵(代码块的最后一行)时,应用程序崩溃并抛出此错误

Eigen::EigenSolver<MatrixType>& Eigen::EigenSolver<_MatrixType>::compute(const Eigen::EigenBase<OtherDerived>&,bool) [with InputType = Eigen::Matrix<double,-1,-1>; _MatrixType = Eigen::Matrix<double,-1>]:  assertion « matrix.cols() == matrix.rows() » Failed.

如果有人有任何想法或线索,我很高兴听到,谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。