一、功能

产生泊松分布的随机数。

二、方法简介

泊松分布的概率密度函数为

\[f(x)=\frac{\lambda ^{x}e^{-\lambda }}{x!} \qquad x\in \left \{ 0,1,...,\lambda \right \}

\]

用\(P(\lambda)\)表示。泊松分布的均值为\(\lambda\),方差为\(\lambda\)。

定理 若\(\lambda > 0\),\(x\)是整数,\(u_i\)是(0,1)区间上均匀分布的随机数,即\(u_{i} \sim U(0, 1)\),且有

\[\prod_{i=0}^{x}u_{i}\geqslant e^{-\lambda }> \prod_{i=0}^{x+1}u_{i}

\]

那么\(x\)是一个以\(\lambda\)为均值的泊松分布的随机变量。

产生泊松分布随机变量\(x\)的具体算法如下:

设\(b = 1,i=0\);

产生均匀分布的随机数\(u_i\),即\(u_{i} \sim U(0, 1)\);

计算\(b\leftarrow bu_{i}\);

如果\(b\geqslant e^{-\lambda }\),那么\(i\leftarrow i+1\),返回到2;

取\(x = i\)。

三、使用说明

是用C语言实现产生二项分布随机数的方法如下:

/************************************

lambda ---泊松分布均值lambda

s ---随机数种子

************************************/

#include "math.h"

#include "uniform.c"

int poisson(double lambda, long int *s)

{

int i;

int x;

double a;

double b;

double u;

a = exp(-lambda);

i = 0;

b = 1.0;

do{

u = uniform(0.0, 1.0, s);

b *= u;

i++;

}while(b >= a);

x = i - 1;

return(x);

}

uniform.c文件参见均匀分布的随机数

python生成泊松分布随机数_泊松分布随机数相关推荐

  1. python生成一个含有20个随机数的列表_python随机模块22个函数详解(上)

    作者:小伍哥 来源: AI入门学习 今天给大家纤细介绍下python中的随机模块,随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性.平时数据分析各种分 ...

  2. python生成字符画_使用Python生成ASCII字符画

    使用Python生成ASCII字符画 在很多的网站主页中或者程序的注释中会有一些好看的字符注释画.显得很牛逼的样子 例如: 知乎 _____ _____ _____ _____ /\ \ /\ \ / ...

  3. python生成正态分布矩阵_使用Numpy生成正态分布数据

    如何使用Python生成正态分布的人员身高体重信息? 下面是生成的数据的分布情况,身高数据在各个区间大致呈正态分布. 对应的代码如下,先用pd.cut进行各个区间分桶,然后使用sort_index按照 ...

  4. python生成和为1的随机数_生成0.1到1.0之间的随机数。Python

    你可以这样做:>>> import numpy as np >>> a=.1 >>> b=np.nextafter(1,2) >>&g ...

  5. mysql语句随机数_程序生成随机数与SQL语句生成随机数

    随机数可以通过程序生成,也可以通过SQL语句生成.通过程序生成随机数时一般采用硬件的编号+时间作为种子,这种方法在瞬间插入数据库N条数据的时候会影响随机数的效果,生成很多相邻的插入值相同.所以频繁插入 ...

  6. python生成一个四位数字的随机数

    def generate_code(self):# 定义一个种子,从这里面随机拿出一个值,可以是字母seeds = "1234567890"# 定义一个空列表,每次循环,将拿到的值 ...

  7. python生成文章标题_利用简书首页文章标题数据生成词云

    原标题:利用简书首页文章标题数据生成词云 感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答.求职一站式搞定! ...

  8. python生成字符图形_【Python AsciiArt】利用命令行打印出字符图案

    利用字符串生成工具可以方便的打印出自己想要字符图案,以及如何将图片转换为ASCII ART输出. 最终可以用命令行输出各种彩色图像---->> 一般字符图案 我们在使用一些开源软件的时候, ...

  9. python生成pdf报表_用python的reportlab库生成PDF报表

    前言 reportlab不是python的标准库,它的强大之处在于能满足绝大部分报表的需求形式,这篇文章将介绍reportlab中基本常用的api,使用canvas画出一份整洁的PDF报表.内容均来自 ...

最新文章

  1. 1000+ 常用 Python 库一览
  2. 为何倡导以质量为导向的项目管理?
  3. [Codeforces50C]Happy Farm 5 凸包
  4. android 找不到符号 符号 RequiresApi
  5. dotNET Core 3.X 使用 Autofac 来增强依赖注入
  6. 《异构信息网络挖掘: 原理和方法(1)》一第2章 基于排名的聚类
  7. Java Web学习总结(25)——MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
  8. Java开发知识之Java的包装类
  9. Oracle 索引层级,十六、oracle 索引
  10. thinkphp vue后台管理系统模板_careyshop-admin 后台管理模板
  11. VMware虚拟机安装Ubuntu 2022最新版详细图文安装教程(VMware虚拟机安装+Ubuntu下载+VMware虚拟机配置运行)
  12. ST芯片烧录失败的原因分析及对策
  13. linux系列---常见命令
  14. Android 10.0 关机界面全屏显示(UI全屏显示)
  15. php生成云图,教程:用Python生成词云图
  16. 图像的形状因子计算方法
  17. avro-java,proto-java
  18. scikit-learn入门到精通(二):seting和estimator
  19. Java并发编程系列之二十四:Exchanger
  20. dz兑换商城,使其支持多次兑换,兑换限制,和勋章打折

热门文章

  1. html dom概念,js学习之HTML DOM的一些基础概念
  2. java 个税计算_【JAVA300例】10、计算个人所得税
  3. java xmpp openfire_搭建Xmpp服务器Openfire
  4. cesium绘制网格_Cesium学习笔记-工具篇37-风场绘制
  5. 3级调度 fpga_Vivado HLS学习笔记——1.了解FPGA架构
  6. 零拷贝机制在文件传输中的使用手法
  7. 从uptime、stress、mpstat、pidstat观察CPU密集型、IO密集型、进程密集型切换的系统性能
  8. Vestigium-Google CodeJam 2020资格回合问题1解决方案
  9. linux qt 音频文件怎么打开,Qt:获取Linux中可用音频设备的列表
  10. php的文件包含总结 include require include_once require_once