使用均匀分布随机数产生器构造任意分布的随机数产生器

使用均匀分布随机数产生器构造任意分布的随机数产生器使用均匀分布随机数产生器构造任意分布的随机数产生器

大家好,欢迎来到IT知识分享网。

一.算法原理

     在概率论中,有下面重要的结论:设随机变量Y的概率分布函数F(y)为连续函数,而X是在(0,1)上均匀分布的随机变量,设使用均匀分布随机数产生器构造任意分布的随机数产生器使用均匀分布随机数产生器构造任意分布的随机数产生器,则Z与Y有相同的分布。
    因此,理论上,我们可以用(0,1)上的均匀分布来得到任意分布的随机数
    设随机变量Y的概率密度函数为f(y),则,我们可以按照下面的步骤来获得满足其分布的随机数:
1.根据给定的概率密度函数(PDF)f(y),通过积分算出概率分布函数F(y);
2.计算概率分布函数F(y)的反函数使用均匀分布随机数产生器构造任意分布的随机数产生器
3.生成一个(0,1)上均匀分布的随机数变量X,
4.那么使用均匀分布随机数产生器构造任意分布的随机数产生器就是满足要求的分布的随机数。



二.使用均匀分布产生指数分布

1.指数分布是概率密度函数(PDF)为
使用均匀分布随机数产生器构造任意分布的随机数产生器

  通过计算可以得到,指数分布的概率分布函数为
使用均匀分布随机数产生器构造任意分布的随机数产生器


2.指数分布的概率分布函数的反函数为
使用均匀分布随机数产生器构造任意分布的随机数产生器


3.获得一个在(0,1)之间均匀分布的随机数x,则通过下面的式子计算得到的y满足指数分布
使用均匀分布随机数产生器构造任意分布的随机数产生器




2.MATLAB代码
 
%% clear
clc;
clear;
 
%% uniform distribution
N = 100000000;
U1 = rand(1, N);
 
%% inverse function
lamda = 1;
Z1 = -1 / lamda * log(1 – U1);
 
 
 
%% visualisztion of PDF
subplot(1, 2, 1), hist(U1, 100), title( ‘The PDF of U1’);
subplot(1, 2, 2), hist(Z1, 100), title( ‘The PDF of Z1’);
  


3.实验结果
使用均匀分布随机数产生器构造任意分布的随机数产生器









参考文献
徐全智,数学建模


版权所有,欢迎转载,转载请注明出处,谢谢微笑

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11521.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信