Кажется, у меня проблема с глупой проблемой, сохраняющей абсолютное значение Eigen vector3d.Хранение абсолютного значения собственного вектора в переменной
Я хочу вычислить pow(p.cwiseAbs(),2)
, но так как p.cwiseAbs()
не является двойным, вызов функции не работает. Затем я попытался сохранить его в переменной .. но почему-то это не представляется возможным.
ex.
double p_abs = p.cwiseAbs();
Сообщение об ошибке:
error: cannot convert ‘const Eigen::CwiseUnaryOp<Eigen::internal::scalar_abs_op<double>, const Eigen::Matrix<double, 3, 1> >’ to ‘double’ in initialization
double p_abs = p.cwiseAbs();
Как я вычислить pow(..,2)
абсолютной величины вектора ?.
Выражение я пытаюсь написать в код:
Выражение я пытаюсь кода это один объясняется первым ответом на этот пост.
Что вы подразумеваете под "не будет работать"? Ошибка компилятора? Неверное значение в переменной? Или что? –
Судя по документации, это может быть несоответствие типа. Вы уверены, что возвращаемое значение 'cwiseAbs' может быть преобразовано в' double'? Выполняется ли 'auto p_abs = p.cwiseAbs();' работает? –
Пока вы не сообщите нам, что означает «не работает». –