2016-08-09 2 views
-4

C++에서 벡터의 일부를 Eigen? 라이브러리로 선택하고 싶습니다.C++ 및 Eigen을 사용하여 벡터의 일부 선택

나는이 벡터가 있다면 내 말은 :

a << 2, 8, 2; 

:

VectorXd v(6); 
v << 1, 2, 3, 8, 1, 2; 

이 벡터를 반환하는 함수가 거기를?

저는 벡터의 일부분 만 선택하는 방법을 알고 있지만 두 개가 아닌 하나의 단계 만 가지고 있기 때문에 알고 있습니다.

답변

2

이 특수한 기능을 수행하는 기능이 없습니다. 만약 그렇다면 아마 eigen block operations 아래에있을 것입니다. 최선의 방법은 자신의 함수를 작성하는 것입니다. 이 비슷한 :

void addConsecutiveSpacedElements(VectorXd &out, const VectorXd &in, int start, int space) { 
    int index = 0; 
    for (int in_index = start, in_index < in.size(); in_index += space) { 
     out[index++] = in[in_index]; 
    } 
} 

... 

addConsecutiveSpacedElements(a, v, 1, 2); 

참고 :이 때문에 기본적으로 의사 코드이며, 그것은 또한 안된 등을 확인 오류가 없습니다.