Ich habe zwei Sparse-Matrizen in Eigen, und ich möchte sie vertikal in eins verbinden. Als Beispiel wäre das Ziel des Codes sein:Concarenate Sparse-Matrix Eigenen
SparseMatrix<double> matrix1;
matrix1.resize(10, 10);
SparseMatrix<double> matrix2;
matrix2.resize(5, 10);
SparseMatrix<double> MATRIX_JOIN;
MATRIX_JOIN.resize(15, 10);
MATRIX_JOIN << matrix1, matrix2;
fand ich einige Lösungen auf forum aber ich war zu ihrer Umsetzung nicht in der Lage.
Was ist der richtige Weg, um die Matrizen vertikal zu verbinden?
bearbeiten
Meine Implementierung:
SparseMatrix<double> L;
SparseMatrix<double> C;
// ... (Operations with the matrices)
SparseMatrix<double> EMATRIX;
EMATRIX.resize(L.rows() + C.rows(), L.cols());
EMATRIX.middleRows(0, L.rows()) = L;
EMATRIX.middleRows(L.rows(), C.rows()) = C;
ich einen Fehler von Typen bekommen, an den Compiler Acording die rechte Seite ist ein Eigen :: Blocks und die linke Seite ist Eigen :: Dünnbesetzte Matrix
Was bedeutet „Ich war es nicht in der Lage zu implementieren.“ bedeuten? –
@ Code-Apprentice Ich konnte die Lösung, die ich im Forum gefunden habe, nicht implementieren. Es sollte auch eine spärliche und eine dichte Matrix (die Lösung im Forum) beitreten. – Javier
Das Wiederholen der gleichen Wörter erklärt nicht, was die Wörter bedeuten. Bitte zeigen Sie genau, was Sie getan haben und was passiert, wenn Sie den Code, den Sie geschrieben haben, kompilieren und ausführen. –