gpt4 book ai didi

c++ - 接受拒绝算法 C++ 正态分布

转载 作者:太空宇宙 更新时间:2023-11-04 14:32:07 28 4
gpt4 key购买 nike

通用的 Accept 拒绝算法和往常一样。

1 从 Unif[0,1] 生成 U 1 ,U 2 ,U 3

2 X ← −log(U 1 )

3 if U 2 > exp(−0.5(X − 1) 2 )....返回直到条件满足。

我的问题是我需要为每个均匀分布使用单独的种子还是使用相同的种子?

最佳答案

您需要使用相同的种子——例如,您必须只为生成器提供一次种子。更重要的是,您应该只使用一个生成器:没有理由使用多个,而且多个生成器很容易引入细微的错误。

从技术上讲,对于足够好的 PRNG 来说,这无关紧要(只要种子不同),但也不会造成任何伤害。对于劣质 PRNG,如果种子以任何方式相关(并且它们实际上经常相关,除非您从真正的随机设备中播种),使用单独的种子可能会显着扭曲您的结果。

请务必使用新的 <random> C++ 中的标准头文件! std::rand应被视为已弃用。

关于c++ - 接受拒绝算法 C++ 正态分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676732/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com