我有一个 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::sort
对w
进行排序,然后找到第一个非- std::find_if
的正值。这将是您的合规值列表的结尾。
您可以将任何其他条件与 std::sort
一起使用。
关于c++ - 给定 bool vector ,如何从 C++ Eigen 数组中删除某些系数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707203/