没有合适的资源?快使用搜索试试~ 我知道了~
首页生成特定分布随机数的方法
生成特定分布随机数的方法
需积分: 40 1.3k 浏览量
更新于2023-05-26
评论
收藏 514KB PDF 举报
生成随机数是程序设计里常见的需求。一般的编程语言都会自带一个随机数生成函 数,用于生成服从均匀分布的随机数。不过有时需要生成服从其它分布的随机数,例 如高斯分布或指数分布等。有些编程语言已经有比较完善的实现,例如Python的 NumPy。这篇文章介绍如何通过均匀分布随机数生成函数生成符合特定概率分布的随 机数,主要介绍Inverse Ttransform和AcceptanceRejection两种基础算法以及一些相 关的衍生方法。下文我们均假设已经拥有一个可以生成0到1之间均匀分布的随机数生 成函数,关于如何生成均匀分布等更底层的随机数生成理论,请参考其它资料,本文 不做讨论。
资源详情
资源评论
资源推荐

生成随机数是程序设计里常见的需求。一般的编程语言都会自带一个随机数生成函
数,用于生成服从均匀分布的随机数。不过有时需要生成服从其它分布的随机数,例
如高斯分布或指数分布等。有些编程语言已经有比较完善的实现,例如Python的
NumPy。这篇文章介绍如何通过均匀分布随机数生成函数生成符合特定概率分布的随
机数,主要介绍InverseTtransform和AcceptanceRejection两种基础算法以及一些相
关的衍生方法。下文我们均假设已经拥有一个可以生成0到1之间均匀分布的随机数生
成函数,关于如何生成均匀分布等更底层的随机数生成理论,请参考其它资料,本文
不做讨论。
基础算法
InverseTransformMethod
ITM算法描述
ITM算法说明
ITM实现示例
AcceptanceRejectionMethod
ARM算法描述
ARM算法说明
ARM实现示例
衍生算法
组合算法
生成具有相关性的随机数
更多参考
基础算法
InverseTransformMethod
最简单的生成算法是InverseTransformMethod(下文简称ITM)。如果我们可以给出
概率分布的累积分布函数(下文简称CDF)及其逆函数的解析表达式,则可以非常简
单便捷的生成指定分布随机数。
ITM算法描述
1.生成一个服从均匀分布的随机数U∼Uni(0,1)
2.设F(X)为指定分布的CDF,F−1(Y)是其逆函数。返回X=F−1(U)作为结
果
ITM算法说明
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0