【发布时间】:2018-03-23 12:16:25
【问题描述】:
我有一个 4000×4 矩阵,需要用不同的值进行初始化。
我注意到以下在 GCC 中花费了很多时间,以至于它实际上会挂起编译器:
Eigen::Matrix<double,1000,500> mat;
mat.setZero();
mat << 1,2,3,4,
10,2,3,1,
(etc)
所以,我想我也可以这样做:
int i=0;
mat.row(i++) << 1,2,3,4;
mat.row(i++) << 10,2,3,1;
(etc)
是否有更节省编译时间和运行时效率的方式来执行此操作?
【问题讨论】:
-
对于如此大的矩阵,最好使用
MatrixXd而不是静态分配的。