实验名称:相关正态随机过程的仿真一、实验目的以正态随机过程为例,掌握离散时间随机过程的仿真方法,理解正态分布随机过程与均匀分布随机过程之间的相互关系,理解随机过程的相关函数等数值特征;培养计算机编程能力。二、实验内容相关正态分布离散随机过程的产生(1)利用计算机语言的[0,1]区间均匀分布随机数产生函数生成两个相互独立的序列{U1(n)|n=1,2,…100000},{U2(n)|n=1,2,…100000}程序代码:clc;N=100000;u1=rand(1,N);u2=rand(1,N);%----------------在[0,1]区间用rand函数生成两个相互独立的随机序列n1=hist(u1,10);%--------------------------hist函数绘制分布直方图subplot(121);%-----------------------------一行两列中的第一个图bar(n1);n2=hist(u2,10);subplot(122);bar(n2);实验结果:(2)生成均值为m=0,根方差=1的白色正态分布序列{e(n)|n=1,2,…,100000}mnunun)(2cos)(ln2-)(e21程序代码:clc;N=100000;u1=rand(1,N);u2=rand(1,N);%---------------在[0,1]区间用rand函数生成两个相互独立的随机序列en=sqrt(-2*log(u1)).*cos(2*pi*u2);%--------定义白色正态分布e(n)n=hist(en,100);%--------------------------hist函数绘制分布直方图bar(n);实验结果:(3)假设离散随机过程x(n)服从均值为xm=0、根方差为2x、相关函数为||2)(rkxxk)6.0(功率谱函数为kjwjwxxxeejwkkrwP)1)(1()1()exp()()(221211)(zzGx随机过程x(n)的生成方法为)(1)1()(x2nenxnx(n=1,2,…100000)给定初始条件x(0)=0程序代码:clc;N=100000;u1=rand(1,N);u2=rand(1,N);%---------------在[0,1]区间用rand函数生成两个相互独立的随机序列en=sqrt(-2*log(u1)).*cos(2*pi*u2);%--------定义白色正态分布e(n)a=0.6;x(1)=2*sqrt(1-a*a)*en(1);%-----------------初始化forn=1:100000-1;x(n+1)=a*x(n)+2*sqrt(1-a*a).*en(n+1);end%------------------------------------生成随机过程x(n)hist(x,100);%--------------------------hist函数绘制分布直方图实验结果:(4)采用集合统计的方法计算1000001')(1000001nxnxm10000012')(1000001nxnxknxknxnxkr1000001')()(1000001)4,3,2,1(k验证计算出来的统计参数与理论值是否一致,差异大小程序代码:sum=0;fori=1:100000sum=sum+x(i);%--------------------表示x(n)的1到100000项的累加和endmx=sum/100000%-----------------------------算出mx的值sum=0;fori=1:100000sum=sum+x(i)*x(i);%--------------------表示x(n)*x(n)的1到100000项的累加和endax=sqrt(sum/100000)%-----------------------算出标准差fork=1:4sum=0;%--------------------------------sum清零forj=1:100000-ksum=sum+x(j)*x(j+k);endr(k)=sum/(100000-k);%------------------用集合统计的方法算出相关函数endr%-----------------------------------------算出r的值实验结果:(5)采用计算机程序计算正态分布的区间积分00001.0]22)00001.0(exp[221]22exp[2212000001222022iidssP根据已生成的序列x(n),在100000个数据中,分别计算(-∞,-2),[-2,0],(0,2],[2,∞)区间上数据出现的比例P1,P2,P3,P4。比较P1,P2,P3,P4与理想值(0.5-P),P,P,(0.5-P)的一致性。程序代码:num1=0;num2=0;num3=0;num4=0;fori=1:100000if(x(i)-2)num1=num1+1;elseif(x(i)=-2)&(x(i)=0)num2=num2+1;elseif(x(i)0)&(x(i)=2)num3=num3+1;elsenum4=num4+1;endendendenddisp('实验值为')p1=num1/100000p2=num2/100000p3=num3/100000p4=num4/100000p2=0;fori=1:200000p2=p2+1/(sqrt(2*pi)*2)*exp(-(i*0.00001)*(i*0.00001)/(2*2*2))*0.00001;endp3=p2;p1=(1-2*p2)/2;p4=p1;disp('理想值为')p1,p2,p3,p4实验结果:三、实验体会学会了MATLAB的基本使用,用来进行随机过程的仿真十分方便,不过对一些系统函数的功能还不熟悉,以及将文字叙述转化为程序代码能力还需要提高,对相关正态分布离散随机过程的产生有了更深的了解。