小编Jua*_*oro的帖子

使用EIGEN库填充动态矢量

我必须使用EIGEN在for循环中使用值填充向量。我正在尝试类似的东西...

#include <iostream> 
#include <Eigen/Dense>
using namespace std;
using namespace Eigen;

int main(){ 
  VectorXd s;
  for (int i=0,i<10;i++){
     s(i) = (double) i;
  }
return 0;
}
Run Code Online (Sandbox Code Playgroud)

我可以编译它,但是当我运行程序时出现此错误:

动态:/usr/include/Eigen/src/Core/DenseCoeffsBase.h:425:Eigen :: DenseCoeffsBase :: Scalar&Eigen :: DenseCoeffsBase :: operator()(Eigen :: Index)[with Derived = Eigen :: Matrix; Eigen :: DenseCoeffsBase :: Scalar = double; Eigen :: Index = int]:断言`index> = 0 && index <size()'失败。阿布布罗兴

我知道我可以使用std :: vector类轻松实现这一点,但是我想用特征值来实现,因为在那之后我必须做很多矩阵运算。

谢谢!

编辑:对于我的应用程序,我在编译时不知道向量的大小。我想找出是否有类似vector::push_back本征的类似方法。

c++ vector eigen

3
推荐指数
1
解决办法
3145
查看次数

标签 统计

c++ ×1

eigen ×1

vector ×1