Je semble avoir un problème avec un problème stupide comme le stockage de la valeur absolue de Eigen vector3d.Stocker la valeur absolue d'un vecteur propre dans la variable
Je veux calculer le pow(p.cwiseAbs(),2)
mais puisque p.cwiseAbs()
n'est pas un double, l'appel de fonction ne fonctionne pas. J'ai alors essayé de le stocker dans une variable .. mais de toute façon il ne semble pas possible ..
ex.
double p_abs = p.cwiseAbs();
Message d'erreur:
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();
Comment calculer la pow(..,2)
de la valeur absolue du vecteur ?.
L'expression que je suis en train d'écrire en code est:
L'expression que je suis en train de coder est celui expliqué par la première réponse à ce poste.
Que voulez-vous dire par "ne fonctionne pas"? Erreur de compilateur? Valeur incorrecte dans la variable? Ou quoi? –
A en juger par la documentation, il peut s'agir d'une incompatibilité de type. Êtes-vous sûr que la valeur de retour de 'cwiseAbs' peut être convertie en' double'? Est-ce que 'auto p_abs = p.cwiseAbs();' fonctionne? –
Pas jusqu'à ce que vous nous disiez ce que "ne fonctionne pas" signifie. –