特征3:尝试分配多维数据集矩阵:执行失败

时间:2019-06-21 12:48:24

标签: eigen3

我定义了一个由4 nxm动态矩阵组成的“ cube”变量。 然后定义提供nxm尺寸的“ cube”类型的变量。 编译正常,但在exe时出现崩溃。

请问一些提示吗?

致谢

西尔万

这是代码:

  typedef Matrix<Matrix<scomplex, Dynamic, Dynamic>, 4, 1> aCube;
  aCube myCube = aCube( 15, 12);

这里是输出:

  

tstEigen:/usr/local/include/Eigen/src/Core/PlainObjectBase.h:285:   Eigen :: PlainObjectBase :: resize(Eigen :: Index,   Eigen :: Index)[with Derived =   特征值::矩阵,-1,-1>,4,1>;   Eigen :: Index = long int]:声明`(!(RowsAtCompileTime!= Dynamic)||   (rows == RowsAtCompileTime))&&(!(ColsAtCompileTime!= Dynamic)||   (cols == ColsAtCompileTime))&&(!(RowsAtCompileTime ==动态&&   MaxRowsAtCompileTime!=动态)|| (行<= MaxRowsAtCompileTime))&&   (!(ColsAtCompileTime ==动态&& MaxColsAtCompileTime!=动态)||   (cols <= MaxColsAtCompileTime))&&行> = 0 && cols> = 0 &&“无效的大小   调整矩阵或数组大小时。”'失败。

最终,chtz将该虫子塞入了我的耳朵。参见下面的工作代码:

  typedef Matrix<Matrix<scomplex, Dynamic, Dynamic>, Dynamic, 1> aCube;
  aCube myCube = aCube( 5);
  for ( int i = 0; i < myCube.rows(); i++)
  {
    myCube(i) = Matrix<scomplex, Dynamic, Dynamic>::Zero(4,2);
  }

非常感谢您的帮助。

0 个答案:

没有答案