请写一个泊松采样的C语言代码
时间: 2023-06-02 12:03:43 浏览: 151
二维泊松碟采样C语言实现
我可以为您提供一个泊松分布的 C 语言代码,如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
double poisson(double lambda)
{
double L = exp(-lambda);
double p = 1.0;
int k = 0;
do {
k++;
p *= ((double) rand() / (RAND_MAX));
} while (p > L);
return (k - 1);
}
int main()
{
double lambda = 5.0;
int n = 100;
srand((unsigned) time(NULL));
for (int i = 0; i < n; i++)
{
printf("%d\n", (int) poisson(lambda));
}
return 0;
}
```
该代码利用 Poisson 分布产生随机数据,其中 lambda 为分布参数。运行结果表示,在给定 lambda 的情况下,生成泊松分布下的随机数。
阅读全文