全文预览

统计计算 R软件 课程设计

上传者:徐小白 |  格式:doc  |  页数:14 |  大小:216KB

文档介绍
1)Р结果:Р> mean(y)Р[1] 0.2089918Р> var(y)Р[1] 0.04107592Р>Р 8. 题目:用二维变换抽样法产生正态分布的随机数。Р程序代码:Рerwei=function(n){Рr1=runif(n,0,1) #生成均匀分布的随机数Рr2=runif(n,0,1) #生成均匀分布的随机数Рu=rep(0,n)Рv=rep(0,n)Рfor(i in 1:n){Рu[i]=sqrt(-2*log(r1[i]))*cos(2*pi*r2[i]) #用变换抽样法产生正态分布随机数Рv[i]=sqrt(-2*log(r1[i]))*sin(2*pi*r2[i])?#用变换抽样法产生正态分布随机数Р}?Рreturn(cbind(u,v))Р}Рn=1000;Рy=(erwei(n))Рu=y[,1] Рmean(u)Рvar(u)Рsu=sort(u)Рi=((1:n)-0.5)/nРu=qnorm(i,0,1)Рplot(su,u)Р结果:Р[1] -0.03751145Р> var(u)Р[1] 1.003879Р题目:用GFI法产生gamma分布的随机数。Р程序代码:РGFI=function(n,a){Р z=rep(0,n);Р for(i in 1:n){Р y=1;A=0;Р while(y>A){Р r=runif(1,0,1);Р x=-log(r);Р y=runif(1,0,1)Р A=(x/exp(x+1))^(a-1);Р if(y<=A){z[i]=a*x}Р }Р }Р return(z)Р}Рn=1000;a=2;Рx=GFI(n,a);Рmean(x);Рvar(x);Рz=sort(x);Рi=((1:n)-0.5)/nРy=qgamma(i,2,1);Рplot(z,y);Рabline(0,1)Р结果:

收藏

分享

举报
下载此文档