2017-12-07 5 views
0

Wie kann ich 3D-Daten mit der Eigen C++ - Bibliothek speichern? Vektor ist für 1D-Daten, Matrix ist für 2D-Daten, aber was ist für 3D-Daten? Oder ist es möglich, einen Matrixvektor zu erzeugen?3D-Daten mit Eigen-Bibliothek speichern

+1

Mögliche Duplikat [Mehrdimensionale Arrays in eigen Bibliothek] (https://stackoverflow.com/questions/30917762/multidimensional-arrays-in-eigen-library) – Matt

Antwort

2

Sie könnten das Tensor-Modul verwenden. Es ist jedoch noch nicht stabil.

Eigen::Tensor<double, 3> epsilon(4,5,6); // 3 dimensions (4x5x6) 
epsilon.setZero(); 
epsilon(0,1,2) = 1; 
epsilon(0,2,1) = -1; 

http://eigen.tuxfamily.org/index.php?title=Tensor_support

+0

Glauben Sie, wenn diese : std :: vector wäre besser? Und welche Art von Problemen kann ich mit diesem Tensor bekommen? – michalt38

+0

Ich hängt von Ihrem Anwendungsfall ab. Wenn Sie sich den Refactoring des Codes nicht leisten können, verwenden Sie den Ansatz std :: vector . Ich bevorzuge persönlich den bestgeeigneten Ansatz (d. H. Tensor <>). – Labonneguigue

Verwandte Themen