编制变换抽样法产生正态分布随机数的程序并进行验证分析; 设y1,y2是相互独立的均匀分布的随机变量,则新变量
1
x1=(?2log y1) 2cos?(2πy2)
1
x2=(?2log y1) 2sin?(2πy2)
也是相互独立的,而且服从正态分布。 程序及结果如下:
N=5000;%初始化数据长度 for i=1:N
y1=rand;%生成均匀分布的随机数 y2=rand;%生成均匀分布的随机数
x1(i)=sqrt((-2)*log(y1))*cos(2*pi*y2);%用变换抽样法产生正态分布随机数
x2(i)=sqrt((-2)*log(y1))*sin(2*pi*y2);%用变换抽样法产生正态分布随机数 end
u1=mean(x1);%计算出x1的平均值 v1=std(x1);%计算出x1的标准差 u2=mean(x1);%计算出x2的平均值 v2=std(x1);%计算出x2的标准差 subplot(1,2,1);
histfit(x1);%绘制带有正态密度曲线的直方图 hold on
xlabel('随机数'); ylabel('x1');
title('均值为u1,标准差为v1'); subplot(1,2,2);
histfit(x2);%绘制带有正态密度曲线的直方图 hold on
xlabel('随机数'); ylabel('x2');
title('均值为u2,标准差为v2'); >> u1 u1 =
0.0167
>> v1 v1 =
1.0020
>> u2 u2 =
0.0167
>> v2 v2 =
1.0020
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库变换抽样法产生正态分布随机数的程序在线全文阅读。
相关推荐: