0

I have a vector

int N = 100;
std::vector<float> v(N, 1.0f);

which I'd like to convert to an Eigen vector type ( Eigen::VectorXf?) I have tried

Eigen::VectorXf ev(N);  
ev = Eigen::Map<Eigen::VectorXf>(&v[0], N);

but I am not sure if it right or wrong. I can only see ev has 1 value in my visual studio.

Nick X Tsui
  • 2,737
  • 6
  • 39
  • 73
  • Does this answer your question? [Initialise Eigen::vector with std::vector](https://stackoverflow.com/questions/17036818/initialise-eigenvector-with-stdvector) – RHertel Dec 21 '21 at 08:21

1 Answers1

0

Your code seems correct. No need to initialize ev(N), though. You can just write

Eigen::VectorXf ev = Eigen::VectorXf::Map(&v[0], N);
Homer512
  • 9,144
  • 2
  • 8
  • 25