Ich verwende Eigen Solver. Ich habe Probleme beim Abrufen der Werte aus Vektoren/Matrix, die ich erstelle. Im folgenden Code habe ich zum Beispiel keinen Fehler, bekomme aber einen Laufzeitfehler.Abrufen von Werten aus Vektor in Eigen Solver
#include <iostream>
#include <math.h>
#include <vector>
#include <Eigen\Dense>
using namespace std;
using namespace Eigen;
int main()
{
Matrix3f A;
Vector3f b;
vector<float> c;
A << 1, 2, 3, 4, 5, 6, 7, 8, 10;
b << 3, 3, 4;
cout << "Here is the matrix A:\n" << A << endl;
cout << "Here is the vector b:\n" << b << endl;
Vector3f x = A.colPivHouseholderQr().solve(b);
for (int i = 0; i < 3; i++)
{
c[i] = x[i];
cout << c[i] << " ";
}
//cout << "The solution is:\n" << x << endl;
return 0;
}
Wie kann ich den Wert in x auf eine Variable meiner Wahl abrufen (Ich brauche dies, da dies ein Parameter in einer anderen Funktion sein, die ich schrieb).
'aber eine Laufzeit error' erhalten Ist es ein etwas geheimes? Kannst du es teilen? – Gluttton
Das Problem ist, dass Ihr 'std :: vector c 'nie Größe 3 geändert wurde (kein Problem mit Eigen, und man sollte das von der Quelle des Laufzeitfehlers sehen) – chtz
Verwenden Sie' c.resize (b. Größe()); ' – RHertel