我使用 Eigen 3.2.4 在列向量中获取居中数据。
Eigen::Matrix<double, 4, 1> a1, a2;
a1 << 1, 2, 3, 4;
a2 = a1 - a1.mean(); // error no match for operator -
但是 gcc 正在给出错误,因为与运营商不匹配 - ... 这里有什么错误?
答案 0 :(得分:2)
我纯粹是从文档中回答,所以我可能错了,但是。
Eigen不允许Matrix - scalar
,但允许Array - scalar
尝试。
a2 = a1.array() - a1.mean();
或者
a2.array() = a1.array() - a1.mean();
即使这些都不起作用,希望他们指出你正确的方向。