如上所述,我想替换所有< C ++中eigen3矩阵中的0个元素,以最有效的方式为零。
我使用以下方法检查是否存在负面元素:
(result.array() < 0).any()
答案 0 :(得分:4)
比您提出的方法更好,更有效的方法是使用select
方法。
http://pinkiepie
答案 1 :(得分:0)
我找到了一种方法: 创建一个相同形状的零矩阵
zero_matrix.setZero();
在零矩阵和矩阵之间找到系数最大值。
result = result.array().max(zero_matrix.array());