人生的意义就是思考其意义分享 http://blog.sciencenet.cn/u/qianlivan 天体物理工作者,家乡云南昆明。

博文

如何(三)如何生成任意分布随机数:注意事项

已有 13903 次阅读 2012-4-26 13:41 |个人分类:知识|系统分类:科研笔记| 如何, 随机数, 任意分布

      [a,b]内均匀分布的随机数x的生成有非常成熟的程序,其归一化条件可以表示为
     
那么,如何生成[a,b]内任意分布f(x)的随机数x呢?我们从归一化条件的类别入手。任意分布f(x)的随机数x的归一化条件可以表示为
     
假定有函数F(x),其微商(导数)为f(x),即d(F(x))=f(x)dx,那么上述归一化条件可以写成
     
其中y=F(x)。与均匀分布随机数的归一化条件比较可以发现,y是[F(a),F(b)]内均匀分布的随机数。所以生成[a,b]内任意分布f(x)的随机数做法如下:

1. 求f(x)的不定积分F(x);
2. 生成[F(a),F(b)]内的均匀分布的随机数y;
3. 求解F(x)=y得到x。

此x就是[a,b]内满足分布f(x)的随机数。

      需要注意的是,生成均匀随机数的时候,区间是[F(a),F(b)],不是[a,b]!兄弟我就是没注意这一点,导致了贻笑大方的错误……

https://blog.sciencenet.cn/blog-117333-563857.html

上一篇:射电望远镜汇聚可见光的性能
下一篇:资本、知识和责任
收藏 IP: 123.113.42.*| 热度|

1 杨学祥

该博文允许注册用户评论 请点击登录 评论 (3 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-18 12:26

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部