C ++犰狳生成给定vec或矩阵的索引uvec而不循环它
Posted
技术标签:
【中文标题】C ++犰狳生成给定vec或矩阵的索引uvec而不循环它【英文标题】:C++ Armadillo Generate Indices uvec of a given vec or matrix without looping it 【发布时间】:2017-05-09 12:05:42 【问题描述】:大家好,
我的问题可能很明显,但我没有在其他帖子或犰狳文档上找到答案。
我想创建一个向量 B(在我的例子中是 arma::uvec),其中包含给定向量 A 的 每个索引。所以需要的元素是 (0:A.n_elem-1 )。我可以循环它,但我需要优化时间,所以我只想知道我是否可以生成它不循环它。最后一点,我想避免使用 C++ 11。
感谢您的宝贵时间。
编辑 1: 我确实使用 find_finite(X) 来生成我的索引 vec,因为我的数据都是有限的,我仍然不知道正确的方法。
【问题讨论】:
【参考方案1】:我不太明白with every index of a given vector A
,但如果你需要B
包含0:A.n_elem-1
,你可以这样做:
vec B = regspace<vec>(0, A.n_elem-1)
以上代码等价于B = 0:length(A)-1
,在MATLAB中。
希望对您有所帮助。
【讨论】:
谢谢,我不是很清楚,但这正是我想要的。以上是关于C ++犰狳生成给定vec或矩阵的索引uvec而不循环它的主要内容,如果未能解决你的问题,请参考以下文章