2014-12-29 70 views
2

如何可以一個double/float -typed矢量或矩陣轉換爲word/uword -typed矢量或矩陣?我需要創建索引數組indicesC++犰狳鑄造/轉換爲整型矢量或矩陣

vec t = linspace(0, 100); 
double freq = 0.25; 
indices = floor(t/freq); 

我在最後一行遇到問題。

+2

使用conv_to最後行:http:// ARMA .sourceforge.net/docs.html#conv_to – mtall

回答

4

如果您只是處理正值,那麼armadillo包的conv_to函數將與您嘗試使用的方法完全相同。

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

如果你想要的結果是一樣的使用對於t的負值地板的功能,你可以替換

ivec indices = conv_to<ivec>::from(floor(t/freq)); 
0

最好的辦法是使用迭代器遍歷你的t向量,然後將floor(*it_to_t/freq)的結果推回到你的索引向量上。

+0

您是否有此信息的來源? – Brian

+0

不是一個真正的來源,只是經常使用矢量的經驗。 –

+0

那麼這比使用'conv_to'更好嗎? – Brian