久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

隨機(jī)數(shù)產(chǎn)生器RNG

 糊涂湯館 2013-11-01

用OpenCV做算法的朋友們肯定為隨機(jī)數(shù)煩惱過(guò),,新版本一直支持隨機(jī)數(shù)產(chǎn)生器啦,而且還繼續(xù)支持之前版本的c格式的函數(shù),,不過(guò)與時(shí)俱進(jìn),,我這里介紹C++的RNG類(lèi)。它可以壓縮一個(gè)64位的i整數(shù)并可以得到scalar和array的隨機(jī)數(shù),。目前的版本支持均勻分布隨機(jī)數(shù)和Gaussian分布隨機(jī)數(shù),。隨機(jī)數(shù)的產(chǎn)生采用的是Multiply-With-Carry算法和Ziggurat算法。

其構(gòu)造函數(shù)的初始化可以傳入一個(gè)64位的整型參數(shù)作為隨機(jī)數(shù)產(chǎn)生器的初值,。next可以取出下一個(gè)隨機(jī)數(shù),,uniform函數(shù)可以返回指定范圍的隨機(jī)數(shù),gaussian函數(shù)返回一個(gè)高斯隨機(jī)數(shù),,fill則用隨機(jī)數(shù)填充矩陣,。

這里介紹一個(gè)uniform的使用事項(xiàng),就是比如利用它產(chǎn)生0~1的隨機(jī)數(shù)的問(wèn)題,,具體代碼如下:

  1. RNG rng;  
  2. // always produces 0   
  3. double a = rng.uniform(0, 1);  
  4. // produces double from [0, 1)   
  5. double a1 = rng.uniform((double)0, (double)1);  
  6. // produces float from [0, 1)   
  7. double b = rng.uniform(0.f, 1.f);  
  8. // produces double from [0, 1)   
  9. double c = rng.uniform(0., 1.);  
  10. // may cause compiler error because of ambiguity:   
  11. // RNG::uniform(0, (int)0.999999)? or RNG::uniform((double)0, 0.99999)?   
  12. double d = rng.uniform(0, 0.999999);  

就是不能寫(xiě)成rng.uniform( 0 , 1),,因?yàn)檩斎霝閕nt型參數(shù),會(huì)調(diào)用uniform(int,,int),只能產(chǎn)生0,。請(qǐng)大家注意使用^_^

還有一些隨機(jī)數(shù)相關(guān)的函數(shù),,比如randu可以產(chǎn)生一個(gè)均勻分布的隨機(jī)數(shù)或者矩陣,randn可以產(chǎn)生一個(gè)正態(tài)分布的隨機(jī)數(shù),,randShuffle可以隨機(jī)打亂矩陣元素

再簡(jiǎn)單介紹一下c版本的隨機(jī)數(shù)產(chǎn)生器的相關(guān)函數(shù),,有cvRNG、cvRandArr,、cvRandInt,、cvRandReal

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多