相关正态随机过程的仿真实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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