我目前正在开发一个 MATLAB 项目,我想使用 C++ 和 Eigen 重新实现计算量最大的部分。我想知道是否有办法执行以下操作(MATLAB 语法):
B = A(A < 3);
对于不熟悉 MATLAB 的人,上述命令初始化了一个矩阵 B,该矩阵由 A 中值小于 3 的单元格组成。
我从Eigen 论坛上的帖子中看到,可以使用以下方法获取感兴趣的索引:
MatrixXi indices = (A.array() < 3).cast<int>();
我想要的是这样的:
MatrixXd B = A(A.array() < 3);
谢谢。