假设我有一个带有任意浮点值的 VectorXf exampleVector 并且我想根据它们的值选择一些元素。
我可以根据我的标准有效地获得真/假值的逻辑向量
例如 boolArray=exampleVector<1;
但现在我想创建一个新的向量(较小的维度),其中只包含那些符合我的标准的元素。
我怎样才能在 eigen3 中有效地做到这一点?
在 R 我可以使用 reductionVector=exampleVector[boolArray]
提前致谢
最佳答案
由于 VectorXf 将其值存储在连续的内存范围内,因此您必须复制出所需的值。我确信 R 以同样的方式做它,所以你不会失去效率。然而,据我所知,没有办法像在 R 中那样方便地做到这一点。因此,您必须循环遍历并复制相关值。
关于Eigen3 - 访问向量元素的(非连续)子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13920137/