c++ - 给定 bool vector ,如何从 C++ Eigen 数组中删除某些系数?

标签 c++ eigen

我有一个 Eigen::VectorXd v 并且我想创建另一个 vector w 只包含满足特定条件的 v 的系数标准,比如积极性,比如

Eigen::VectorXd v(3);
v << -1, 0, 1;
w = v(v > 0);
std:: cout << v; // prints  -1, 0, 1
std:: cout << w; // prints 1

我如何在 Eigen 中执行此操作?

最佳答案

v复制到w中,用std::sortw进行排序,然后找到第一个非- std::find_if 的正值。这将是您的合规值列表的结尾。

您可以将任何其他条件与 std::sort 一起使用。

关于c++ - 给定 bool vector ,如何从 C++ Eigen 数组中删除某些系数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707203/

相关文章:

c++ - 自定义迭代器适用于 std::sort 但不适用于 tbb::parallel_sort?

c++ - C1060 GPU 的奇怪设备属性

c++ - 不同 header 中的类不能相互识别?

c++ - 为什么我不能在同一个 MS VS 解决方案中的两个控制台应用程序中使用 C++ Eigen(仅 header 库)?

c++ - std::将数据移出 Eigen::Matrix

c++ - 为什么相继声明的两个变量在内存中并不相邻?

c++ - 如何在 OpenGL 中叠加文本

c++ - 通过外部分配的数据调用 Eigen GEMM

c++ - 从两个 lambda 函数返回 lambda 时出现链接器错误

c++ - 在新的 Visual Studio 项目中包含任何 Eigen 3.3.1 文件都不会编译