在许多编程语言中,都有内置的函数或库可以用来生成符合泊松分布的随机数。以下是几种常用编程语言的示例代码:
import random
import math
def poisson_random(lam):
L = math.exp(-lam)
k = 0
p = 1
while p > L:
k += 1
p *= random.uniform(0, 1)
return k - 1
# 生成符合泊松分布的随机数
lam = 3.0
random_number = poisson_random(lam)
print(random_number)
import java.util.Random;
public class PoissonRandom {
public static int poissonRandom(double lambda) {
Random random = new Random();
double L = Math.exp(-lambda);
int k = 0;
double p = 1.0;
do {
k++;
p *= random.nextDouble();
} while (p > L);
return k - 1;
}
public static void main(String[] args) {
double lambda = 3.0;
int random_number = poissonRandom(lambda);
System.out.println(random_number);
}
}
#include
#include
#include
int poissonRandom(double lambda) {
std::random_device rd;
std::mt19937 gen(rd());
std::poisson_distribution poisson(lambda);
return poisson(gen);
}
int main() {
double lambda = 3.0;
int random_number = poissonRandom(lambda);
std::cout << random_number << std::endl;
return 0;
}
这些示例代码中,都定义了一个函数 poissonRandom
,该函数接受一个参数 lambda
,表示泊松分布的参数。然后使用相应编程语言的函数或库来生成符合泊松分布的随机数,并返回结果。
下一篇:按postgree分组排序查询