我试图在遵循算术序列的索引中索引矩阵。根据官网的Eigen教程,我应该使用Eigen::seq(firstVal, lastVal, step)来生成这个序列。调用此函数后,会弹出该线程标题中粘贴的错误。
我检查了本地 eigen 文件夹中的所有文件,以查找“seq”方法,但没有运气。它不在任何地方。我想这意味着某些文件丢失了,对吗?
代码是这样的。
标题位于顶部
#include <iostream>
#include <string>
#include <chrono>
#include "Eigen/Dense"
#include "Eigen/Core"
#include <cmath>
#include <random>
m1(row, Eigen::seq(some_index*m1.cols(), some_index*m1.cols() + m1.cols()-1, step))= m2.block(row, 0, 1, m2.cols());
当然,m1.cols() >> m2.cols()
错误输出:
error: 'seq' is not a member of 'Eigen'
预期结果是从矩阵 m2 中获取行(其中 m2.cols()
检查官方仓库后
https://bitbucket.org/eigen/eigen/src/default/ https://bitbucket.org/eigen/eigen/src/default/
所需的函数在文件中Eigen/src/core/ArithmeticSequence.h
它包含在通用标题中Eigen/Core
已经在片段中使用了。
问题似乎是 OP 从第三方存储库下载 Eigen,与主存储库不同步,并且上述文件丢失。
我为后代添加此注释:撰写本文时最新的稳定版本是 3.3.7,于 2018 年发布,(请参阅http://eigen.tuxfamily.org/index.php?title=Main_Page http://eigen.tuxfamily.org/index.php?title=Main_Page),并且不包含该文件。因此,如果其他人发现同样的问题,请尝试克隆官方存储库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)