eigen 列拼接_eigen Dense矩阵拼接

矩阵拼接报错:

/usr/include/eigen3/Eigen/src/Core/Block.h:141: Eigen::Block::Block(XprType&, Eigen::Block::Index, Eigen::Block::Index, Eigen::Block::Index, Eigen::Block::Index) [with XprType = Eigen::Matrix; int BlockRows = -1; int BlockCols = -1; bool InnerPanel = false; Eigen::Block::Index = long int]: Assertion a_startRow >= 0 && blockRows >= 0 && a_startRow <= xpr.rows() - blockRows && a_startCol >= 0 && blockCols >= 0 && a_startCol <= xpr.cols() - blockCols' failed.

解决方法

MatrixXd A;

MatrixXd B;

MatrixXd C;

A.resize(3, 3); //注意矩阵拼接之前必须要确定大小,否则会上述报错

B.resize(3, 9); //注意矩阵拼接之前必须要确定大小,否则会上述报错

C.resize(9, 3); //注意矩阵拼接之前必须要确定大小,否则会上述报错

A << 1, 2, 3,

4, 5, 6,

7, 8, 9;

cout<

B << A,A,A; //水平拼接

cout<

//垂直拼接

C << A,

A,

A;

cout<

输出结果如下:

image.png


版权声明:本文为weixin_40002224原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。