Ich muss einen Vektor mit Werten innerhalb einer for-Schleife mit EIGEN füllen. Im Versuch, dass so etwas wie ...Füllen dynamischen Vektor mit EIGEN-Bibliothek
#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;
}
ich es kompilieren kann, aber wenn ich das Programm ausführen bekomme ich diesen Fehler:
dynamic: /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]: Assertion `index >= 0 && index < size()' failed. Abgebrochen
Ich weiß, dass ich einfach, dass mit dem std erreichen kann: : vektorklasse, aber ich möchte es mit eigen machen, weil ich danach viele matrixoperationen machen muss.
Vielen Dank!
EDIT: für meine Anwendung ich kenne nicht die Größe des Vektors zur Kompilierzeit. Ich möchte herausfinden, ob es eine ähnliche Methode wie vector::push_back
in Eigen gibt.
* Assertion 'index> = 0 && index
LogicStuff