one two three four
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 11 18
[4,] 4 9 11 19
[5,] 5 10 15 20
我要提取其行具有第三列= 11的子矩阵。即:
one two three four
[1,] 1 6 11 16
[3,] 3 8 11 18
[4,] 4 9 11 19
如何在本征中做到这一点?
答案 0 :(得分:0)
可以使用以下方法定义Eigen::Array
布尔值,其中包含有关矩阵的行是否满足条件的信息
enum cols {one, two, three, four};
auto is_selected = (mat.col(three).array() == 11);
如this answer中所述,可能在将数组is_selected
转换为整数向量之后,可以用来构造一个由原始行的选定行组成的新矩阵。 / p>