Eigen3 - 访问向量元素的(非连续)子集

标签 eigen

假设我有一个带有任意浮点值的 VectorXf exampleVector 并且我想根据它们的值选择一些元素。

我可以根据我的标准有效地获得真/假值的逻辑向量
例如 boolArray=exampleVector<1;

但现在我想创建一个新的向量(较小的维度),其中只包含那些符合我的标准的元素。

我怎样才能在 eigen3 中有效地做到这一点?

在 R 我可以使用 reductionVector=exampleVector[boolArray]

提前致谢

最佳答案

由于 VectorXf 将其值存储在连续的内存范围内,因此您必须复制出所需的值。我确信 R 以同样的方式做它,所以你不会失去效率。然而,据我所知,没有办法像在 R 中那样方便地做到这一点。因此,您必须循环遍历并复制相关值。

关于Eigen3 - 访问向量元素的(非连续)子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13920137/

相关文章:

c++ - 数组之间的特征行叉积

c++ - Eigen::vector ;在函数中使用 Eigen::Matrix3f 的值初始化 vector ,大于 4 个条目

cmake - 为 CMake 查找包 Eigen3

c++ - Eigen 中的逐元素最大值和正数部分

c++ - 如何确定矩阵在 Eigen 中是否可逆(正则、非奇异、满秩……)?

c++ - 2x2 自邻(埃尔米特)矩阵的对角化

Mac 上的 C++ 库无法使用 g++ my_program.cpp -o my_program 进行编译

android - 在 android ndk 中使用 Eigen

c++ - Eigen:简单的乘法和加法优化

c++ - 'half' 不是 'Eigen' 的成员