如何计算特征向量的绝对值

How do I compute the absolute value of a vector in Eigen?

本文关键字:特征 向量 绝对值 计算 何计算      更新时间:2023-10-16

如何计算特征向量的绝对值?因为

Eigen::VectorXf v(-1.0,-1.0,-1.0,-1.0,-1.0,-1.0,-1.0);
v.abs(); // Compute abs value.

对于特征3.2.1,使用p.abs();的方式与使用p.normalize的方式相同,会导致沿着

行的编译器错误

错误:'Eigen::Matrix'中没有名为'abs'的成员。~ ^

所以本征中的向量就是一个矩阵类型。为了计算本征矩阵的绝对值,可以使用p.cwiseAbs()或数组转换p.array().abs();。这两个绝对函数都返回一个值,而不是修改变量本身。

所以正确的做法是输入

p = p.cwiseAbs();

p = p.array().abs();