Это не очень понятно из Вашего вопроса, но я понял, как вам нужно сцепить 3 вертикальные матрицы размера (п, 1) производить матрицу размера (м, 1), где m - это сумма всех n.
Если да, то чем вы можете попробовать следующее:
MatrixXd C(B1.rows() + B2.rows() + B3.rows(), 1);
C << B1, B2, B3;
Например, этот код:
Eigen::MatrixXd B1(3, 1);
B1 << 1, 2, 3;
Eigen::MatrixXd B2(3, 1);
B2 << 42, 43, 44;
Eigen::MatrixXd B3(3, 1);
B3 << -1, -2, -3;
MatrixXd C(B1.rows() + B2.rows() + B3.rows(), 1);
C << B1, B2, B3;
std::cout << "Rows: " << C.rows() << std::endl;
std::cout << "Columns: " << C.cols() << std::endl << std::endl;
std::cout << C << std::endl;
будет производить следующий вывод:
Rows: 9
Columns: 1
1
2
3
42
43
44
-1
-2
-3
Говоря вертикальный матрица, вы имеете в виду векторы? – CroCo