使用特征库的矩阵向量

A vector of matrices using eigen library

本文关键字:向量 特征      更新时间:2023-10-16

使用特征库:

我想创建一个 4x4 矩阵的向量

然后循环播放以打印输出矩阵

问题是:在 for 循环中:matrices_vector.size((=0,尽管我用 3 个矩阵填充了matrices_vector

谢谢大家

//Main
vector<MatrixXd> matrices_vector;

    MatrixXd temp(4,4);
    for(int i= matrices_vector.size()-1; i=0; i--)
    {   
        temp= matrices_vector.at(i-1) * matrices_vector.at(i);
        matrices_vector.at(i-1)=temp;
        matrices_vector.erase(matrices_vector.end(),matrices_vector.end()-1);
    }
    cout<< temp;
这是

不正确的,因为如果i不为 0,循环将永远不会执行。

for(int i= matrices_vector.size()-1; i=0; i--)

这应该是

for(int i= matrices_vector.size()-1; i > 0; i--)

此外,您应该在进入循环之前检查matrices_vector是否为空,因为如果true matrices_vector.empty() matrices_vector.size() - 1将产生无效值。

此外,由于您的循环检查对,因此您需要强制向量中至少有 2 个项目,然后再继续。