2016-11-07 6 views
1

Ich arbeite mit Eigen, um die Exponentialfunktion und den Logarithmus einer Matrix zu erhalten. Ich verstehe nicht, warum der folgende Code mir einen Kompilierungsfehler gibt. Der Code ist:Eigenlog und exp Funktionen Typ Casting Fehler

Eigen::Matrix4d speedT = Eigen::Matrix4d::Identity(); 
//some other operations with speedT 
Eigen::Matrix4d v = speedT.log(); 

Der Fehler ist: Fehler 17 Fehler C2440: 'type cast': Konvertierung von 'const Eigen :: MatrixExponentialReturnValue' auf 'Eigen :: Matrix4d'

Fehler 16 Fehler C2027: Verwendung von undefiniertem Typ 'Eigen :: MatrixExponentialReturnValue'

Für die Exponentialfunktion (exp) erscheint das gleiche Problem. Ich habe verschiedene Varianten davon ausprobiert und mache auch eine Typumwandlung (Eigen :: Matrix4d) speedT.log(); aber das Ergebnis war das gleiche ... Die Version von Eigen ist Eigen 3.2.8

Antwort

2

Ich denke, dieser Fehler erscheint, wenn Sie

#include <unsupported/Eigen/MatrixFunctions> 
+0

Vielen Dank für die Antwort vergessen! In der Zwischenzeit habe ich auch festgestellt, dass ich die beiden Header #include und # include einschließen müsste. Trotzdem vielen Dank! –