将特征向量的绝对值存储到变量中
Storing the absolute value of an eigen vector in to variable
我似乎对存储 Eigen vector3d 的绝对值的愚蠢问题有疑问。
我想计算 pow(p.cwiseAbs(),2)
但由于 p.cwiseAbs()
不是双精度数,函数调用不起作用。然后我试图将它存储到一个变量中..但不知何故它似乎不可能..
例如
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)
?。
我试图写入代码的表达式是:
我正在尝试编码的表达式是这个 post 上的第一个答案所解释的表达式。
How do i compute the pow(..,2) of the absolute value of the vector?
您可能正在寻找平方范数。那就是:
p.squaredNorm();
使用 Eigen 回答原始问题 "how-do-i-compute-the-closest-points-on-a-sphere-given-a-point-outside-the-sphere":
Vector3d center, P, Q;
double radius;
Q = center + radius * (P-center).normalized()
我似乎对存储 Eigen vector3d 的绝对值的愚蠢问题有疑问。
我想计算 pow(p.cwiseAbs(),2)
但由于 p.cwiseAbs()
不是双精度数,函数调用不起作用。然后我试图将它存储到一个变量中..但不知何故它似乎不可能..
例如
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)
?。
我试图写入代码的表达式是:
我正在尝试编码的表达式是这个 post 上的第一个答案所解释的表达式。
How do i compute the pow(..,2) of the absolute value of the vector?
您可能正在寻找平方范数。那就是:
p.squaredNorm();
使用 Eigen 回答原始问题 "how-do-i-compute-the-closest-points-on-a-sphere-given-a-point-outside-the-sphere":
Vector3d center, P, Q;
double radius;
Q = center + radius * (P-center).normalized()