用零eigen3 c ++替换所有负元素

时间:2016-11-06 03:28:42

标签: c++ eigen3

如上所述,我想替换所有< C ++中eigen3矩阵中的0个元素,以最有效的方式为零。

我使用以下方法检查是否存在负面元素:

(result.array() < 0).any()

2 个答案:

答案 0 :(得分:4)

比您提出的方法更好,更有效的方法是使用select方法。

http://pinkiepie

答案 1 :(得分:0)

我找到了一种方法: 创建一个相同形状的零矩阵

zero_matrix.setZero();

在零矩阵和矩阵之间找到系数最大值。

result = result.array().max(zero_matrix.array());