Hallo,
ich versuche mich gerade in die Eigen3 C++ Bibliothek einzuarbeiten.
Zum Import von Standard C++ Arrays finde ich die Funktion MAP, aber wie
kann ich einen Eigen3 Vector umcasten um ihn als Standard -Double-Array
weiterzuverwenden?
Im folgenden Beispiel soll ein Testmuster berechnet werden und mit QWT
geplottet werden:
so geht es
Ich fürchte mit einem simplen Umcasten wirst du da nicht weiter kommen.
Ein VectorXd ist laut Doku erst mal nichts anderes als eine Sonderform
einer allgemeinen Matrix.
Für eine Matrix gibt es die Member-Funktion .data() welche dir einen
Pointer auf die internen Daten liefert. Wie diese internen Daten
allerdings organisiert sind, und ob dir das weiterhilft, kann ich nicht
sagen. Im schlimmsten Fall wirst du eben eine Kopie der Daten machen
müssen, in dem du mit dem Subscript-Operator auf die einzelnen Werte des
Vektor in einer Schleife zugreift und im Prinzip ein Duplikat der Daten
in deinen lokalen Arrays machst.
Ich denke aber, dass man mit .data weiterkommt. Zumnindest kligt es
danach, als ob dort ein möglicher Ansatzpunkt zur Lösung des Problems
liegt.