Eigen3 - доступ к (несмежному) подмножеству векторных элементов

Предположим, у меня есть вектор VectorXf exampleVector с произвольными значениями с плавающей запятой, и я хочу выбрать некоторые элементы в соответствии с их значениями.

Я могу эффективно получить логический вектор значений true/false в соответствии с моим критерием, например, boolArray=exampleVector‹1;

Но теперь я хочу создать новый вектор (меньшего размера), содержащий только те элементы, которые соответствуют моему критерию.

Как я могу сделать это эффективно в eigen3?

В R я мог бы использовать reduceVector=exampleVector[boolArray]

заранее спасибо


person user1910779    schedule 17.12.2012    source источник


Ответы (1)


Поскольку VectorXf хранит свои значения в непрерывном диапазоне памяти, вам придется скопировать нужные значения. Я уверен, что R делает то же самое, так что вы не потеряете эффективность. Однако я не знаю способа сделать это так же удобно, как в R. Поэтому вам придется перебрать и скопировать соответствующие значения.

person Jakob    schedule 19.12.2012