是否有一种直接、快速的方式将 list<VectorXd>“映射”到 MatrixXd?
Posted
技术标签:
【中文标题】是否有一种直接、快速的方式将 list<VectorXd>“映射”到 MatrixXd?【英文标题】:Is there a direct, fast way to "map" list<VectorXd> to MatrixXd? 【发布时间】:2017-02-24 04:19:07 【问题描述】:我正在寻找一种直接、快速的方法将list<VectorXd>
转换为MatrixXd
。我该怎么做?
Map<Eigen::MatrixXd> listV(list<VectorXd>)
不编译。
我也在考虑迭代 list<VectorXd>
并必须填写 MatrixXd
,但这可能很慢且没有必要。
虽然我同意this answer 有助于我解决我的问题,但我不同意父问题与此问题重复。访问list
和vector
的方式可能不同,因此问题应该保持开放,因为答案不同。
【问题讨论】:
Eigen and std::vector的可能重复 【参考方案1】:不,这是不可能的,因为 std::list 的元素不是按顺序存储在内存中的。因此,您必须在 std::vector 上使用 Map 一次处理一列。所以只有一个循环遍历 std::list 的元素。
【讨论】:
以上是关于是否有一种直接、快速的方式将 list<VectorXd>“映射”到 MatrixXd?的主要内容,如果未能解决你的问题,请参考以下文章
是否有一种快速算法可以将集合的所有分区生成为大小为 2 的子集(和一个大小为 1 的子集)?
C# 将 List<string> 转换为 Dictionary<string, string>
在 Visual Studio 2017 中,是不是有一种快速方法可以将“std::”添加到缺少它的名称中?
是否有一种定义明确且高性能的方式将双精度位转换为 uint64_t 并返回