特征矩阵库系数方式模运算

pin*_*cir 2 c++ eigen eigen3

在我正在处理的项目中的一个函数中,我需要找到特征库矩阵的每个元素除以给定数字的余数。这是与我想要做的等效的 Matlab:

mod(X,num)
Run Code Online (Sandbox Code Playgroud)

其中 X 是被除矩阵,num 是除数。

实现这一目标的最简单方法是什么?

gga*_*ael 7

您可以使用 C++11 lambda 与unaryExpr

MatrixXi A(4,4), B;
A.setRandom();
B = A.unaryExpr([](const int x) { return x%2; });
Run Code Online (Sandbox Code Playgroud)

或者:

int l = 2;
B = A.unaryExpr([&](const int x) { return x%l; });
Run Code Online (Sandbox Code Playgroud)