1、10000; y=lam*x(i-1); x(i)=mod(y,M);endu=x/M;调用函数,并检验产生随机数的数字特性。y=undistribution(3,2,32);hist(y,50);E=mean(y);D=var(y);title(0-1均匀分布直方图);text(0,-20,strcat(均值为,num2str(E);text(0.77,-20,strcat(,num2str(D);2、标准正态分布高斯分布的概率密度函数:;首先利用前面产生均匀分布随机数的方法生成两组均匀分布的随机数u1,u2;利用公式:,Z服从高斯分布。MATLAB实现代码如下:u1=undistribut
2、ion(3,2,32);u2=undistribution(2,3,32);z=sqrt(-2*log(u1).*cos(2*pi*u2);hist(z,100);E=mean(z);D=var(z);标准正态分布直方图)text(-6,-40,strcat(text(6,-40,strcat(方差为3、指数分布指数分布的概率密度函数如下: ;首先利用前面产生均匀分布随机数的方法生成一组均匀分布的随机数u;则数列,为均值为,方差为的指数分布随机数列。u=undistribution(3,2,32);lam=8;y=-log(u)/lam;hist(y,150);指数分布直方图text(0,-1
3、30,strcat(text(2.3,-130,strcat(4、广义指数分布广义指数分布的概率密度函数如下:,设有两组高斯分布的数列x、y,另,其中s为信噪比,则服从广义指数分布。MATLAB实现代码入下:x=sqrt(-2*log(u1).*cos(2*pi*u2);y=sqrt(-2*log(u1).*sin(2*pi*u2);s=2;x1=x+sqrt(2*s);z=x1.2+y.2;hist(z,100)广义指数分布直方图text(0,-60,strcat(text(63,-60,strcat(5、瑞利分布瑞利分布的概率密度函数为:瑞利分布数组可以利用高斯分布数列来产生,设有高斯分布
4、的数列x、y,则服从瑞利分布。利用MATLAB实现代码如下:z=sqrt(x.2+y.2);hist(z,50)瑞利分布直方图text(0,-65,strcat(text(5.5,-65,strcat(6、广义瑞利分布广义瑞利分布的概率密度函数如下:同样,可以利用产生瑞利分布的方法来生产广义瑞利分布数列。设有高斯分布数列x、y,则服从广义瑞利分布,其中a为常数。a=2;x1=x+a;z=sqrt(x1.2+y.2);广义瑞利分布直方图text(0,-30,strcat(text(7.4,-30,strcat(7、韦布尔分布韦布尔分布的概率密度函数如下:其中,则服从韦布尔分布,其中是服从N(0,
5、1)的正态分布。E=mean(x);D=var(x);y=(x-E)/sqrt(D);%将高斯数列x转为为服从N(0,1)的高斯分布数列yE1=mean(y);D1=var(y);xn=3;a=3;b=2;z=xn+b*(-log(y).(1/a);text(3,-60,strcat(text(6.6,-60,strcat(8、对数正态分布对数正态分布概率密度函数如下:要生成具有对数正态分布的随机数列,只需对高斯分布的数列进行指数变换。u2=undistribution(3,2,16);z=exp(x);hist(z,2000);axis(0,15,0,3000)对数正态分布直方图text(0
6、,-300,strcat(text(12,-300,strcat(9、Swerling 型分布:设有两组高斯分布的数列x、y,则就是Swerling 型分布随机数,其中r可以取全1数列。r=ones(1,10000);z=(r/2).*(x.2+y.2);SwerlingII分布直方图text(0,-150,strcat(text(20,-150,strcat(10、2分布分布的概率密度函数如下:首先生成n组服从标准正态分布的随机数组服从分布。u3=undistribution(5,4,32);u4=undistribution(4,5,32);g1=sqrt(-2*log(u1).*cos(2*pi*u2);g2=sqrt(-2*log(u1).*sin(2*pi*u2);g3=sqrt(-2*log(u3).*cos(2*pi*u4);g4=sqrt(-2*log(u3).*sin(2*pi*u4);x(1,1:10000)=g1;x(2,1:10000)=g2;x(3,1:10000)=g3;x(4,1:10000)=g4;for i=1:10000 z(i)=x(1,i)2+x(2,i)2+x(3,i)2+x(4,i)2;x2分布直方图text(65,-130,strcat(