检查Eigen :: Matrix的任何元素是否与零不同

时间:2015-12-02 15:28:11

标签: c++ matrix eigen any

我有一个DishID,我需要检查它的任何元素是否与0不同。

我尝试了以下代码:

Eigen::Matrix<double, Dynamic, Dynamic>

但是我遇到了编译错误。

  

二进制表达式的操作数无效(&#39; const Eigen :: Matrix&#39;和&#39; double&#39;)

2 个答案:

答案 0 :(得分:5)

在Eigen中,大多数元素操作都由Array类处理。幸运的是,有一种简单的方法可以在Matrix个对象上使用它们。尝试

bool f = (m.array() != 0.0).any();

答案 1 :(得分:1)

另一个选择是

bool f = !m.isZero();

它应该适用于 ArrayMatrix