[英]A vector of matrices using eigen library
使用本征库:
我想创建一个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
是否为空,因为如果matrices_vector.empty()
为true
,则matrices_vector.size() - 1
将产生无效值。
另外,由于循环检查对,因此在执行操作之前,您必须强制向量中至少包含2个项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.