C++ Armadillo 生成给定 vec 或矩阵的索引 uvec 而不循环它
C++ Armadillo Generate Indices uvec of a given vec or matrix without looping it
大家好,
我的问题可能很明显,但我没有在其他帖子或 Armadillo Doc 上找到答案。
我想用给定向量 A 的 每个索引 创建一个向量 B(在我的例子中是 arma::uvec )。所以需要的元素是 (0: A.n_elem-1)。我可以循环它,但我需要最大限度地优化时间,所以我只想知道我是否可以生成它 而无需循环它 。最后一点,我想避免使用 C++ 11。
感谢您的宝贵时间。
编辑 1:
我确实使用 find_finite(X) 来生成我的索引 vec,因为我的数据都是有限的,我仍然不知道正确的方法。
我不太明白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 中。
希望对您有所帮助。
大家好,
我的问题可能很明显,但我没有在其他帖子或 Armadillo Doc 上找到答案。
我想用给定向量 A 的 每个索引 创建一个向量 B(在我的例子中是 arma::uvec )。所以需要的元素是 (0: A.n_elem-1)。我可以循环它,但我需要最大限度地优化时间,所以我只想知道我是否可以生成它 而无需循环它 。最后一点,我想避免使用 C++ 11。
感谢您的宝贵时间。
编辑 1: 我确实使用 find_finite(X) 来生成我的索引 vec,因为我的数据都是有限的,我仍然不知道正确的方法。
我不太明白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 中。
希望对您有所帮助。