MATLAB系统建模与仿真实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系统建模与仿真实验报告

报告一: 产生10中独立分布的随机数,并检验其一、二阶距的性质。

1、[0,1]区间的均匀分布

采用乘同余法产生均匀分布在(0,1)之间的随机数。乘同余法的递推公式为:

1(mod )n n x x M λ+=

一般情况下,323a λ=±,a 为整数,M 于计算机的字长有关,2m M =,m 为16或32,x 的初值为(1)21b x =+。利用MATLAB 实现,代码如下: function u=undistribution(a,b,m);%乘同余法 lam=8*a-3; M=pow2(m); x(1)=pow2(b)+1; for i=2:10000; y=lam*x(i-1); x(i)=mod(y,M); end u=x/M; end

调用函数,并检验产生随机数的数字特性。 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)));

00.10.20.30.40.50.60.7

0.80.910

50

100

150

200

250

0-1均匀分布直方图

均值为0.50227

方差为0.082933

2、标准正态分布

高斯分布的概率密度函数:

22

()2()x u P x σ-=

首先利用前面产生均匀分布随机数的方法生成两组均匀分布的随机数u1,u2

;利用公式:2)Z u π=,Z 服从高斯分布。MATLAB 实现代码如下:

u1=undistribution(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);

title('标准正态分布直方图')

text(-6,-40,strcat('均值为',num2str(E))); text(6,-40,strcat('方差为',num2str(D)));

-6-4-2024

68050

100150200250300350400

450标准正态分布直方图

均值为0.0081833

方差为1.0025

3、指数分布

指数分布的概率密度函数如下:

,0()0,x e x P x λλ-⎧≥=⎨⎩

其它 ;

首先利用前面产生均匀分布随机数的方法生成一组均匀分布的随机数u ;则数列1

ln y u λ

=-

,为均值为λ,方差为2λ的指数分布随机数列。MATLAB 实现

代码如下:

u=undistribution(3,2,32); lam=8;

y=-log(u)/lam; hist(y,150);

E=mean(y); D=var(y);

title('指数分布直方图')

text(0,-130,strcat('均值为',num2str(E))); text(2.3,-130,strcat('方差为',num2str(D)));

00.51 1.52 2.53

200

400

600

800

1000

1200

1400

指数分布直方图

均值为0.12474方差为0.017187

4、广义指数分布

广义指数分布的概率密度函数如下:

0()())p x I x s =-+,

设有两组高斯分布的数列x 、y ,

另1x x =其中s 为信噪比,则221z x y =+服从广义指数分布。MATLAB 实现代码入下: u1=undistribution(3,2,32); u2=undistribution(2,3,32);

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) E=mean(z); D=var(z);

title('广义指数分布直方图');

text(0,-60,strcat('均值为',num2str(E))); text(63,-60,strcat('方差为',num2str(D)));

010

2030405060

70800

100200300400500600700

800广义指数分布直方图

均值为6.0285

方差为21.1718

5、瑞利分布

瑞利分布的概率密度函数为:

2

22exp(),0

()20,0x x x f x x σσ

⎧-≥⎪=⎨⎪<⎩

; 瑞利分布数组可以利用高斯分布数列来产生,设有高斯分布的数列x 、y ,

则z =服从瑞利分布。利用MATLAB 实现代码如下: u1=undistribution(3,2,32);

u2=undistribution(2,3,32);

x=sqrt(-2*log(u1)).*cos(2*pi*u2); y=sqrt(-2*log(u1)).*sin(2*pi*u2); z=sqrt(x.^2+y.^2); hist(z,50) E=mean(z); D=var(z);

title('瑞利分布直方图');

text(0,-65,strcat('均值为',num2str(E))); text(5.5,-65,strcat('方差为',num2str(D)));

012345

670

100200300400500600700

800瑞利分布直方图

均值为1.2496

方差为0.43442

6、广义瑞利分布

广义瑞利分布的概率密度函数如下:

220

222

+()exp -(),02a a p εεεεεσσσ=≥()I ;

相关文档
最新文档