MATLAB系统建模与仿真实验.docx

上传人:b****3 文档编号:4958626 上传时间:2022-12-12 格式:DOCX 页数:13 大小:135.45KB
下载 相关 举报
MATLAB系统建模与仿真实验.docx_第1页
第1页 / 共13页
MATLAB系统建模与仿真实验.docx_第2页
第2页 / 共13页
MATLAB系统建模与仿真实验.docx_第3页
第3页 / 共13页
MATLAB系统建模与仿真实验.docx_第4页
第4页 / 共13页
MATLAB系统建模与仿真实验.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

MATLAB系统建模与仿真实验.docx

《MATLAB系统建模与仿真实验.docx》由会员分享,可在线阅读,更多相关《MATLAB系统建模与仿真实验.docx(13页珍藏版)》请在冰豆网上搜索。

MATLAB系统建模与仿真实验.docx

MATLAB系统建模与仿真实验

系统建模与仿真实验报告

报告一:

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

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

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

乘同余法的递推公式为:

一般情况下,

,a为整数,M于计算机的字长有关,

m为16或32,x的初值为

利用MATLAB实现,代码如下:

functionu=undistribution(a,b,m);%乘同余法

lam=8*a-3;

M=pow2(m);

x

(1)=pow2(b)+1;

fori=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)));

2、标准正态分布

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

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

,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)));

3、指数分布

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

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

,为均值为

,方差为

的指数分布随机数列。

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)));

4、广义指数分布

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

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

,其中s为信噪比,则

服从广义指数分布。

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)));

5、瑞利分布

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

瑞利分布数组可以利用高斯分布数列来产生,设有高斯分布的数列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);

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)));

6、广义瑞利分布

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

同样,可以利用产生瑞利分布的方法来生产广义瑞利分布数列。

设有高斯分布数列x、y,则

服从广义瑞利分布,其中a为常数。

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);

a=2;

x1=x+a;

z=sqrt(x1.^2+y.^2);

hist(z,100)

E=mean(z);

D=var(z);

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

text(0,-30,strcat('均值为',num2str(E)));

text(7.4,-30,strcat('方差为',num2str(D)));

7、韦布尔分布

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

其中

,则

服从韦布尔分布,其中

是服从N(0,1)的正态分布。

MATLAB实现代码如下:

u1=undistribution(3,2,32);

u2=undistribution(2,3,32);

x=sqrt(-2*log(u1)).*cos(2*pi*u2);

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

y=(x-E)/sqrt(D);%将高斯数列x转为为服从N(0,1)的高斯分布数列y

E1=mean(y);D1=var(y);

xn=3;a=3;b=2;

z=xn+b*(-log(y)).^(1/a);

hist(z,100);

E=mean(z);

D=var(z);

title('Τ²¼¶û·Ö²¼Ö±·½Í¼');

text(3,-60,strcat('¾ùֵΪ',num2str(E)));

text(6.6,-60,strcat('·½²îΪ',num2str(D)));

8、对数正态分布

对数正态分布概率密度函数如下:

要生成具有对数正态分布的随机数列,只需对高斯分布的数列进行指数变换。

MATLAB实现代码如下:

u1=undistribution(3,2,32);

u2=undistribution(3,2,16);

x=sqrt(-2*log(u1)).*cos(2*pi*u2);

z=exp(x);

hist(z,2000);

axis([0,15,0,3000])

E=mean(z);

D=var(z);

title('对数正态分布直方图')

text(0,-300,strcat('均值为',num2str(E)));

text(12,-300,strcat('方差为',num2str(D)));

9、SwerlingⅡ型分布:

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

就是SwerlingⅡ型分布随机数,其中r可以取全1数列。

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);

r=ones(1,10000);

z=(r/2).*(x.^2+y.^2);

hist(z,100)

E=mean(z);

D=var(z);

title('SwerlingII分布直方图');

text(0,-150,strcat('均值为',num2str(E)));

text(20,-150,strcat('方差为',num2str(D)));

10、χ2分布

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

首先生成n组服从标准正态分布的随机数组

,则

服从

分布。

MATLAB实现代码如下:

u1=undistribution(3,2,32);

u2=undistribution(2,3,32);

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;

fori=1:

10000

z(i)=x(1,i)^2+x(2,i)^2+x(3,i)^2+x(4,i)^2;

end

hist(z,100)

E=mean(z);

D=var(z);

title('x^2分布直方图');

text(0,-130,strcat('均值为',num2str(E)));

text(65,-130,strcat('方差为',num2str(D)));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1