psi*_*lia 5 c random algorithm math probability
我正在寻找一种简单的算法,如何仅使用ANSI rand()函数生成伪随机浮点数,但具有任意概率分布.对于简单的统一分布,我使用以下代码:
x = (float)rand() / (float)RAND_MAX;
Run Code Online (Sandbox Code Playgroud)
当然它不是很准确,但足以满足我的需求.我还需要其他发行版如logistic和gaussian.理想情况下,我必须使用有限长度的简单向量定义任意pdf,例如对于logistic pdf,此向量可能如下所示:
logistic_pdf = {0., 0.26894, 0.33924, 0.41742, 0.5, 0.58257, 0.66075, 1.};
Run Code Online (Sandbox Code Playgroud)
并且为了统一(使用相同的维度8):
uniform_pdf = {0.125, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125};
Run Code Online (Sandbox Code Playgroud)
这只是一个想法.但我不确定如何有效地使用它rand()->{0...RAND_MAX}.
| 归档时间: |
|
| 查看次数: |
3575 次 |
| 最近记录: |