1、HUNAN UNIVERSITY课程实验报告题 目: 相关正态随机过程的仿真 实验 1 相关正态随机过程的仿真实验目的:以正态随机过程为例,掌握离散时间随机过程的仿真方法,理解正态分布随机过程与均匀分布随机过程之间的相互关系,理解随机过程的相关函数等数值特征;培养计算机编程能力。实验内容:程序代码:u1=rand(1,100000);u2=rand(1,100000);%-在0,1区间用 rand 函数生成两个相互独立的是随机序列n1=hist(u1,10)%-用 hist 函数绘制分布直方图subplot(121)%-将两幅分布图显示在一个窗口bar(n1)n2=hist(u2,10)sub
2、plot(122)bar(n2)实验结果:结果分析:因为两个独立序列是随机产生,且在0,1均匀分布,故将 0,1分为十个等宽区间时,落在每个区间的数目应该大致相等。实验内容:程序代码:clc;u1=rand(1,100000);u2=rand(1,100000);%-在0,1区间用 rand 函数生成两个相互独立的是随机序列en=sqrt(-2*log(u1).*cos(2*pi*u2);-定义白色正态分布 e(n)n=hist(en,100);%-用 hist 函数绘制分布直方图bar(n)实验结果:结果分析:绘制出的图形符合白色正态分布实验内容: 程序代码:clc;%第(3)题u1=ran
3、d(1,100000);u2=rand(1,100000);%-在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);%-初始化for n=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)题sum=0;for i=1:100000-1sum=sum+x(i);%-表示 x(n)的 1 到
4、 100000 项的累加和endmx=sum/100000%-算出 mx 的值for i=1:100000-1sum=sum+x(i)*x(i);%-表示 x(n)*x(n)的 1 到 100000 项的累加和endax=sqrt(sum/100000)%-算出 ax 的值for k=1:4sum=0;%-始化 sum 的值for j=1:100000-ksum=sum+x(j)*x(j+k);endr(k)=sum/(100000-k);%-表示集合统计的方法计算出来的相关函数 endr%-算出 r 的值%第(5)问%先算出在各区间上数据出现的比例num1=0;num2=0;num3=0;n
5、um4=0;for i=1:1:100000if (x(i)=-2)elsenum4=num4+1;endendendend disp(实验值为)p1=num1/100000p2=num2/100000p3=num3/100000p4=num4/100000%再算出理论值p2=0;for i=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实验结果:结果分析:随着 k 值增大,相关性越弱,故 r 值越小, (4) (5)问理论值与理想值基本一致。 实验体会:在本次试验的开始,因为对 MATLAB 的不熟练,不知道如何编程,经过查阅资料,了解了相关函数的使用方法之后,成功做完了本次实验。通过本次试验,我掌握了离散时间随机过程的仿真方法,进一步理解了课堂上学习正态分布随机过程与均匀分布随机过程之间的相互关系,理解随机过程的相关函数等数值特征,并且学会了相关函数的使用,培养计算机编程能力。