编写一个产生符合高斯分布的随机数函数

编写一个产生符合高斯分布的随机数函数

ID:41698964

大小:223.92 KB

页数:7页

时间:2019-08-30

编写一个产生符合高斯分布的随机数函数_第1页
编写一个产生符合高斯分布的随机数函数_第2页
编写一个产生符合高斯分布的随机数函数_第3页
编写一个产生符合高斯分布的随机数函数_第4页
编写一个产生符合高斯分布的随机数函数_第5页
资源描述:

《编写一个产生符合高斯分布的随机数函数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、信号检测与估计课程作业作业要求1、利用计算机内部函数产生高斯分布的随机数,分別画出500,10000,100000点的波形,并进行统计分析(分别画出概率密度曲线,计算均值与方差)2、利用计算机自己编写一个产生符合高斯分布的随机数函数,画出100000点的波形,并进行统计分析(同一)提示:这一问分两步做,第一步先产生一个均匀分布的随机数序列(乘同余法、混合同余法等,可以用自己的方法),第二步通过适当变换得到符合高斯分布概率模型的随机数列3、对随机数产生函数和高斯分布进行性能分析,并写出自己对于此次作业和上课的学习体会一、利用内部函数产生高斯分布首先利用matlab

2、自带的内部函数randn()就可以方便的生成所尙要的高斯分布随机数,然后画出概率密度曲线并计算出均值与方差即可。程序代码如下:A=randnf5001V请下载后正常阅读下载后删除此图片即可还原文档subplot(2,3,6);plot(x3,f3);titled00000点高斯分布概率密度函数');JZ500=mean(A)JZ1000=mean(B)JZ100000=mean(C)FC500=var(A)FC10000=var(B)FC1OOOOO=var(C)运行代码之后,可以得到如下结果:4020004000600080001000012000*5c246

3、81012x10500点的均值为JZ500=0.033410000点的均值为JZ1OOO=0.0101100000点的均值为JZ100000=0.0016500点的方差为FC500=0.964910000点的方差为FC10000=1.0105100000点的方差为FC100000=0.9999我们可以看到随着实验点数的增加,生成的随机数的各项指标越來越接近于标准正态分布。二、编写随机数函数1、映射原理因为我以前曾经做过一个可以生成指数分布随机数的函数,所以这一次我的想法述是基于反函数的方法生成符合高斯分布的随机数。基于这种思想,首先要对标准高斯分布的概率密度函数

4、和分布函数曲线进行分析。为了得到概率密度曲线和分布函数曲线的图像,可以在matlab中运行如下代码:x=-5:0.02:5;y=exp(-0.5*x.A2)/(2*pi)A0.5;plot(x,y),axis([・5,5,0,0.5])即可看到标准高斯分布的概率密度曲线图1工f(x)=荷e_T再运行如下代码:clearx=-10:0.02:10;y=(1125899906842624*2人(1/2)*piA(l/2)*(erf((2A(l/2)*x)/2)+1))/5644425081792261;plot(x,y),axis([-l0,10,0,1.2]),g

5、ridon可以得到标准高斯分布的分布函数曲线图像可以看到F(x)具有如下的优良性质:(1)单调递增,理论上一定存在反函数;(2)OWF(x)W1,且F(x)落在区间(a,b)的概率为b-a,所以令y=F(x),则y可以看成为一个满足(0,1)上的均匀分布的随机变量。正因为分布函数具有如上两个性质,所以在理论上一定可以得到F(x)的反函数,并用这个反函数可以将一个(0,1)上的均匀分布映射成一个标准高斯分布。但是,与指数分布、瑞利分布等其他分布不同,高斯分布的分布函数:1fxF(x)=—=IePdt*v2tcJ—8不能直接积分岀來,也即不能用有限的解析形式來表示,

6、也就是说虽然F(x)的反函数一定存在但是却写不出來,这给我们的映射带來了休I难。但是我们可以考虑利用二维的正态分布來解决这一问题。假定「1与「2是[0,1]区间的两个独立的均匀分布随机数,现将其作如下的变换,令xl=^/―21n(rl)*cos(2tt*r2)x2此时』请下载后正常阅读其中]下载后删除此图片即可还原文档UM由这二(xl,x2)〜N(0,04,1,0)也即两个相互独立的高斯分布。至此,我们找到了将均匀分布映射成为髙斯分布的解析表示式。2、用乘同余法生成均匀分布找到了映射表达式之后,我们的任务就是寻找可以生成均匀分布随机数的方法。这里用到的方法是乘同

7、余法。乘同余法的迭代式如下:Xn+1=Lamda*Xn(modM)Rn+l=Xn/M当然,这里的参数选収是有一定理论基础的,否则所产牛的随机数的周期将较小,相关性会较大。经过前人检验的两组性能较好的素数収模乘同余法迭代式的系数为:Lamda=5A5,M=2A35-31Lamda=7A5,M=2A31-l3、程序代码因为我们需要产生两个相互独立的均匀分布,为了使相关性更低,我们产生的两个均匀分布随机变量「1、「2分别使用不同的迭代系数。并且为了增大随机型,决定不使用固定种子,而是通过提取系统时间(当前时间的秒数)产生一个时间随机种子。运行代码如下:a=clock;

8、xl⑴=a(6)/100

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。