使用特征库的矩阵向量

时间:2014-12-18 21:28:08

标签: c++

使用Eigen库:

我想创建一个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;

1 个答案:

答案 0 :(得分:0)

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

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

这应该是

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

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

此外,由于你的循环检查对,你需要强制执行向量中至少有2个项目才能继续。