Re: [問題] 請問有C++現成的uniform函式嗎?
※ 引述《lty721231 (TY)》之銘言:
: 我需要別人寫好的uniform分佈的函式
: 我之前有用過lcgrand.h 和 lcgrand.c
: 但是我後來做數值統計發現並沒有符合uniform的分佈
: 我也不想用srand time null
: 所以我想請問大家是否有使用過某些好用的函式庫
: 並請問要到哪裡下載呢?
: 謝謝!
: 我用的是 Visual C++ 2005
可以用 C++ TR1 或 Boost 提供的 random lib,
你想要 uniform 還是 normal distribution 的亂數都有辦法生出來,
但是 call srand 設定一個 seed 還是必要的。
C++ TR1 文件:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1745.pdf
Boost.random 文件:
http://www.boost.org/doc/libs/1_38_0/libs/random/index.html
我只知道最新的 VC++ 是有 TR1 函式庫的支援,
不知道 2005 的 service pack 有沒有,
沒有的話可以裝個 boost 來用。
其實 C 的 rand() 提供的就是 uniform dist. 亂數了,
但是你把它的結果做 % 運算可能破壞這個性質。
--
Ling-hua Tseng (uranus@tinlans.org)
Department of Computer Science, National Tsing-Hua University
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Software pipelining for VLIW architectures
Homepage: https://www.tinlans.org
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.111.131
→
02/27 12:37, , 1F
02/27 12:37, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):