у меня есть Eigen::Matrix<double, Dynamic, Dynamic>
, и мне нужно проверить, если какой-либо из его элементов отличается от 0.
Я попробовал следующий код:
Matrix<double, Dynamic, Dynamic> m;
bool f = (m != 0.0).any();
Но я получил ошибку компилятора.
Неверные операнды в бинарном выражении (‘const Eigen :: Matrix’ и ‘double’)
В Eigen большинство элементарных операций обрабатываются Array
учебный класс. К счастью, есть простой способ использовать их на Matrix
объекты. Пытаться
bool f = (m.array() != 0.0).any();
Других решений пока нет …