相关正态随机过程的仿真实验报告

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

实验名称:相关正态随机过程的仿真

一、实验目的

以正态随机过程为例,掌握离散时间随机过程的仿真方法,理解正态分布随机过程与均匀分布随机过程之间的相互关系,理解随机过程的相关函数等数值特征;培养计算机编程能力。

二、实验内容

相关正态分布离散随机过程的产生

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

[][]m n u n u n +=)(2cos )(ln 2-)(e 21πσ

程序代码:

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)服从均值为x m =0、根方差为2x =σ、相关函数为||2)(r k x x k ασ= )6.0(=α

功率谱函数为

∑∞

-∞=----=-=k jw jw x x x e e jwk k r w P )1)(1()1()exp()()(22ααασ 1

211)(---=z z G x αασ 随机过程x(n)的生成方法为

)(1)1()(x 2n e n x n x ασα-+-= (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);%-----------------初始化

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)采用集合统计的方法计算

∑==1000001'

)(1000001n x n x m ∑==10000012'

)(1000001n x n x σ ∑-=+-=k n x k n x n x k r 1000001'

)()(1000001 )4,3,2,1(=k 验证计算出来的统计参数与理论值是否一致,差异大小

程序代码:

sum=0;

for i=1:100000

sum=sum+x(i);%--------------------表示x(n)的1到100000项的累加和

end

mx=sum/100000%-----------------------------算出mx 的值

sum=0;

for i=1:100000

sum=sum+x(i)*x(i);%--------------------表示x(n)*x(n)的1到100000项的累加和 end

ax=sqrt(sum/100000)%-----------------------算出标准差

for k=1:4

sum=0;%--------------------------------sum 清零

for j=1:100000-k

sum=sum+x(j)*x(j+k);

end

r(k)=sum/(100000-k);%------------------用集合统计的方法算出相关函数

end

r%-----------------------------------------算出r 的值

实验结果:

(5)采用计算机程序计算正态分布的区间积分

00001.0]22)00001.0(exp[221

]22exp[2212000001222

22⨯⨯⨯-⨯=⨯-⨯=∑⎰=i i ds s P ππ

根据已生成的序列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;

for i=1:100000

if(x(i)<-2)

num1=num1+1;

else if(x(i)>=-2)&(x(i)<=0)

num2=num2+1;

else if(x(i)>0)&(x(i)<=2)

num3=num3+1;

else

num4=num4+1;

end

end

end

相关文档
最新文档