Если вы хотите добавить матрицы по строкам, вы должны убедиться, что количество столбцов равно.
При изменении размера необходимо учитывать предыдущее количество строк и сохранять матрицу перед изменением ее размера. .
SEUV << boundary.EL
терпит неудачу, потому что матрица SEUV
уже изменена и имеет больше строк, чем boundary.EL
SEUV << SEUV, boundary.EL
, потому что SEUV
занимает все пространство самого себя, там не осталось места для boundary.EL
Вот пример того, как можно добавить 2 матрицы с 3 столбцами и разными строками:
MatrixXi A(3,3);
A << 1, 1, 1, 1, 1, 1, 1, 1, 1;
cout << A << "\n\n";
MatrixXi B(2,3) ;
B << 2, 2, 2, 2, 2, 2;
cout << B << "\n\n";
MatrixXi tmp = A;
A.resize(A.rows() + B.rows(), NoChange);
A << tmp, B;
cout << A << "\n";