是否可以像在Matlab中一样在Eigen中屏蔽数组?
就像是
ArrayXd arrayA = ArrayXd::Random(10, 5);
ArrayXi mask = ArrayXi::Zero(arrayA.rows(), arrayA.cols());
mask = arrayA > 5;
ArrayXd arrayB = arrayA(mask)
其中arrayB是一个行 vector ,仅包含arrayA> 5的所有元素
我可以在2011年以后找到类似的请求,但找不到任何更新的答案(https://forum.kde.org/viewtopic.php?f=74&t=98382,https://forum.kde.org/viewtopic.php?f=74&t=98093,https://forum.kde.org/viewtopic.php?f=74&t=97652)
最佳答案
(R.array() < s).select(P,Q); // (R < s ? P : Q)
因此,在您的情况下
(arrayA > 5).select(mask, arrayA)