我有一个DishID
,我需要检查它的任何元素是否与0不同。
我尝试了以下代码:
Eigen::Matrix<double, Dynamic, Dynamic>
但是我遇到了编译错误。
二进制表达式的操作数无效(&#39; const Eigen :: Matrix&#39;和&#39; double&#39;)
答案 0 :(得分:5)
在Eigen中,大多数元素操作都由Array
类处理。幸运的是,有一种简单的方法可以在Matrix
个对象上使用它们。尝试
bool f = (m.array() != 0.0).any();
答案 1 :(得分:1)
另一个选择是
bool f = !m.isZero();
它应该适用于 Array
和 Matrix