相关疑难解决方法(0)

提升随机数发生器

有没有人有一个最喜欢的增强随机数生成器,你能解释一下如何在代码中实现它.我试图让mersenne twister工作,并想知道是否有人偏好其他人之一.

c++ random boost

26
推荐指数
2
解决办法
4万
查看次数

C#:从二项分布生成数字的数值算法

我需要从二项式(n,p)分布生成随机数.

二项式(n,p)随机变量是n个均匀变量的总和,其中概率为1.在伪代码中,x=0; for(i=0; i<n; ++i) x+=(rand()<p?1:0);将生成二项式(n,p).

我需要为小的和非常大的n生成这个,例如n = 10 ^ 6和p = 0.02.是否有任何快速数值算法来生成它?

编辑 -

现在这是我的近似值(以及精确泊松和正态分布的函数) -

    public long Binomial(long n, double p) {
        // As of now it is an approximation
        if (n < 1000) {
            long result = 0;
            for (int i=0; i<n; ++i)
                if (random.NextDouble() < p) result++;
            return result;
        }
        if (n * p < 10) return Poisson(n * p);
        else if (n * (1 - p) < 10) return n - Poisson(n * …
Run Code Online (Sandbox Code Playgroud)

c# numerical

8
推荐指数
2
解决办法
5798
查看次数

偏置随机数发生器

我正在寻找一个可以有偏见的随机数发生器.例如,假设我想要1-5之间的随机数,概率为:

1:上升20%的时间
2:上升10%的时间
3:上升40%的时间
4:上升25%的时间
5:上升5%的时间

标准库或其他库中是否有可以执行此操作的内容?或者,有没有一种有效的方法来做到这一点?

c++ random

7
推荐指数
4
解决办法
1万
查看次数

标签 统计

c++ ×2

random ×2

boost ×1

c# ×1

numerical ×1