gpt4 book ai didi

c++ - 如何根据索引的 `Eigen::VectorXd` 使用来自另一个 `Eigen::VectorXd` vector 的值初始化 `vector`

转载 作者:行者123 更新时间:2023-11-27 23:57:04 28 4
gpt4 key购买 nike

我有兴趣初始化 Eigen::VectorXd使用另一个值的 vector Eigen::VectorXd vector ,基于 vector<int>将指出将使用哪些元素的索引。

也就是说,

// This is the large vector from which I'll take the values to 
// initialize the second, shorter one
int N = 100;
Eigen::VectorXd V(N);
V.setRandom(N);

// This is the vector of indexes that'll be used to specify
// which elements of V will be used in the initialization of x
vector<int> ids = {1, 3, 0, 20};

// This is the vector I want to initialize
Eigen::VectorXd x(ids.size());

现在,我想要的x是以下内容:

x(0) = V(1)

x(1) = V(3)

x(2) = V(0)

x(4) = V(20)

非常感谢!

最佳答案

在 devel 分支(将成为 3.4)你可以做:

x = V(ids);

使用 Eigen 3.3,您必须编写自己的 for 循环。

关于c++ - 如何根据索引的 `Eigen::VectorXd` 使用来自另一个 `Eigen::VectorXd` vector 的值初始化 `vector<int>`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41864732/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com