Eigenes boolesches Array-Slicing

In MATLAB ist es üblich, Werte, die eine Bedingung erfüllen, aus einer Matrix / einem Array (genanntlogische Indizierung).

vec = [1 2 3 4 5];
condition = vec > 3;
vec(condition) = 3;

Wie mache ich das in Eigen? Bisher habe ich:

Eigen::Matrix<bool, 1, 5> condition = vec.array() > 3;

Antworten auf die Frage(2)

Ihre Antwort auf die Frage