【发布时间】:2017-01-20 05:02:24
【问题描述】:
我在 Eigen 中有两个稀疏矩阵,我想将它们垂直合并为一个。例如,代码的目标是:
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;
我在forum 上找到了一些解决方案,但是我无法实施。
垂直连接矩阵的正确方法是什么?
编辑
我的实现:
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;
我收到类型错误,根据编译器,右侧是 Eigen::Block,左侧是 Eigen::SparseMatrix
【问题讨论】:
-
什么是“我无法实现它。”什么意思?
-
@Code-Apprentice 我无法实施我在论坛中找到的解决方案。它也意味着加入(论坛中的解决方案)一个稀疏和密集的矩阵
-
重复相同的词并不能解释这些词的含义。请准确说明您做了什么以及编译和运行您编写的代码时会发生什么。
标签: c++ sparse-matrix eigen