c ++ armadillo cast/convert to integer type vector或matrix

Bri*_*ian 4 c++ casting armadillo

如何double/ float-typed向量或矩阵转换为word/ uword-typed向量或矩阵


我需要创建一个索引数组indices.

vec t = linspace(0, 100);
double freq = 0.25;
indices = floor(t / freq);
Run Code Online (Sandbox Code Playgroud)

我在最后一行遇到了麻烦.

Zak*_*ann 6

如果您只是处理正值,那么armadillo包的conv_to函数将与您尝试使用的方法完全相同.

vec t = linspace(0, 100);
double freq = 0.25;
ivec indices = conv_to<ivec>::from(t / freq);
Run Code Online (Sandbox Code Playgroud)

如果您希望结果与使用负值t的floor函数相同,则可以用最后一行替换

ivec indices = conv_to<ivec>::from(floor(t / freq));
Run Code Online (Sandbox Code Playgroud)