【发布时间】:2019-10-27 07:38:52
【问题描述】:
我想创建一个大小为2N x 9 的矩阵,其中N 是垂直堆叠2N1x9 矩阵的动态值。
这是我尝试做的。
using CoefficientMatrix = Eigen::Matrix<T, Eigen::Dynamic, 9>;
using CoefficientRow = Eigen::Matrix<T, 1, 9>;
CoefficientMatrix A(2*N, 9);
for (int i = 0; i < N; i++) {
CoefficientRow ax;
CoefficientRow ay;
// fill in ax and ay
A << ax, ay;
}
但是,我收到以下运行时错误。
Assertion failed: (((m_row+m_currentBlockRows) == m_xpr.rows() || m_xpr.cols() == 0) && m_col == m_xpr.cols() && "Too few coefficients passed to comma initializer (operator<<)"), function finished, file /usr/local/include/eigen3/Eigen/src/Core/CommaInitializer.h, line 120.
我尝试通过断言语法进行解析,但我不确定这些内部变量名称在我的代码中指的是什么(对于 Eigen 来说是新的)。
感谢您的帮助。
【问题讨论】: