试用Matlab软件编制对均匀随机数进行性能检验的各种方.docx
- 文档编号:9807874
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:26
- 大小:136.95KB
试用Matlab软件编制对均匀随机数进行性能检验的各种方.docx
《试用Matlab软件编制对均匀随机数进行性能检验的各种方.docx》由会员分享,可在线阅读,更多相关《试用Matlab软件编制对均匀随机数进行性能检验的各种方.docx(26页珍藏版)》请在冰豆网上搜索。
试用Matlab软件编制对均匀随机数进行性能检验的各种方
1试用Matlab软件编制对均匀随机数进行性能检验的各种方法的检验,判断程序。
解:
所编程序如下
通过相关系数来间接检验随机数列的独立性。
(1)用来验数列中自第i个数开始每m个数之间相关性的方法
%设定显著性水平为0.05,则z=1.96z=1.96;
n=900;u=rand(1,n);
i=1;
m=2;
M=floor((n-i)/m)-1;
s=0;
fork=0:
M
s=s+u(i+k*m)*u(i+(k+1)*m);
endru=s/(M+1)-0.25;
si=sqrt(13*M+7)/(12*(M+1));z0=abs(ru/si);
ifz0<=z
h=0;
elseh=1;
end
h
运行程序得:
h=0,即接受H0,不拒绝独立性假设,说明产生的随机数独立。
(2)用来验数列中相邻二数相关性的方法
n=900;u=rand(1,n);
s=0;
fori=1:
n-1
s=s+u(i)*u(i+1);
ends=s+u(n)*u
(1);r=mean(u);
p=s-n*rA2;
s=0;
fori=1:
n
s=s+u(i)*u(i);
end
q=s-n*rA2;
ru=abs(p/q);
ifru<2/sqrt(n)
h=0;
elseh=1;
end
运行程序得:
h=0,即接受H。
不拒绝独立性假设,说明产生的随机数独立。
(3)相关系数检验
%设定显著性水平为0.05,则z=1.96
z=1.96;
n=900;
u=rand(1,n);
r=mean(u);
m=15;
forj=1:
m
s=0;
fori=1:
n-j
s=s+(u(i)-r)*(u(i+j)-r);
end
p=s/(n-1);
s=0;
fori=1:
n
s=s+(u(i)-r)A2;
end
q=s/(n-1);
ru(j)=p/q;
v(j)=abs(ru(j)*sqrt(n-j);
ifv(j)<=z;
h=0;
elseh=1;
end
h
end
运行程序得:
h=0,即接受H0,不拒绝独立性假设,说明产生的随机数独立。
一、均匀性检验
2检验法
%均匀性检验
(1)kafang检验法
n=5000;
u=rand(1,n);
m=10;
pi=1/m;
%设显著水平,查表得kafang0.05(9)=16.919
f(1:
10)=0;
fori=1:
5000
switchfloor(u(i)*10)
case0
f
(1)=f
(1)+1;
case1
f
(2)=f
(2)+1;
case2
f(3)=f(3)+1;
case3
f(4)=f(4)+1;
case4
f(5)=f(5)+1;
case5
f(6)=f(6)+1;
case6
f(7)=f(7)+1;
case7
f(8)=f(8)+1;
case8
f(9)=f(9)+1;
case9
f(10)=f(10)+1;
end
end
s=0;
forj=1:
10
s=s+(f(j)-500)A2/500;
end
s
ifsv16.919
h=0;
elseh=1;
end
h
运行程序得:
s=9.1160:
h=0。
说明产生的随机样本符合均匀性。
二、数字特征检验
理想均匀分布随机数序列U(0,1)可以用三个数字特征完整地表述其统计特性,即
均值■'-1/2
方差匚2=1/2
二阶原点矩■-;:
(x2)=1/3
为了检验随机数列的独立性与均匀性,来检验样本均值、方差、二阶原点中心是否与理想均匀分布随机量地相应参数有无变化
%数字特征检验
n=500;
u=rand(1,n);
r=mean(u);%求样本均值
v=var(u);%求样本方差
s=0;
fori=1:
n
s=s+u(i)A2;
end
s=s/n;
s%求二阶矩
ifr-1/2<=0.01
a仁0;
elsea1=1;
end
al
ifv-1/12<=0.01
a2=0;
elsea2=1;
end
a2
ifs-1/3<=0.01
a3=0;
elsea3=1;
end
a3
运行程序得S=0.3281;a1=0;a2=0;a3=0。
说明产生样本的均值、方差、二阶原点中心矩与理想均匀分布随机量地相应参数均无显著差异
2•根据一单位正方形与其两相邻边为半径的1/4圆,用MCM估计二值,给出
求解步骤及相关程序。
解:
求解步骤如下:
1设定所需精度;
2产生两个(0,1)均匀分布的随机数x和y;
22
3判断,若xy<1,则次数i+1,否则返回①进行下一次实验;
4计算本次实验后的估计值pi=4*i/total,total为已进行实验次数;
5判断精度,若pi和真值二的差小于所设精度,停止实验,输出pi,否则返回①进
行下一次实验。
3•用组合法产生梯形分布密度的随机变量:
0乞x^1
其它
f(x)二alo,i(x)2(1_a)lo,i(x)。
求解步骤如下:
1产生(0,1)均匀分布的随机数U1;
2若U1<=a,产生一个独立的(0,1)均匀分布的随机数U2,取x=U2;
3若U"a,产生一个独立的(0,1)均匀分布的随机数U2,取x=..U!
;
源程序见附录程序3。
4•试用产生均匀随机数的方法产生2000个随机数,通过数字特征检验其均匀
性。
:
=0.05
解:
使用MATLAB中的randn函数产生(0,1)均布的随机数。
检验他们的均匀性只要计算出
乙=、、T2N(x-1/2),Z2=180N(s2-1/12),45N4(x-1/3),若
-Z./2 对于本题的情况,绝大多数时候都是均匀的。 源程序见附录程序4。 5•产生常用连续分布随机序列: (写出产生步骤,要求编程) 1/(b-a)a_x_b 1)均匀随机数f(x)二 I0其它 2)指数分布随机数f(X)=卩1_6-4X兰0 x2 3)瑞利分布随机数f(x)x2ex_0 a 解: 产生步骤如下: 1)产生(0,1)均布的随机数Ui;令x^a(b-a)Ui;返回。 _lnII 2)产生(0,1)均布的随机数Ui;令Xj二一厂1;返回。 3)产生(0,1)均布的随机数Ui;令人.-2lnUj;返回。 6•利用计算机产生一高斯分布的随机序列,并检查: 1)均值随样本大小N的变化规律; 2)方差随样本大小N的变化规律; 3)相邻样本间的统计独立性。 解: 1)由图6-1可见,随着N增大,序列的均值趋近与理论值0。 2)由图6-2可见,随着N增大,序列的方差趋近与理论值1。 3由图6-3可见,随着N增大,相邻样本间的独立性减弱,趋近于理论值0源程序见附录程序6。 a.a 0.2 □ ■O.d 'aaoa.5 11.5 擇本大小N 2.5 xIO* 图6—1 禅本大小Mif 7•要产生两路高斯随机数列,它们具有均值为零,方差为1,但需彼此相关, 且相关系数r为定值,应如何产生? 给出产生方法,并编程实现。 解: 产生步骤如下: 1产生相互独立的(0,1)均布的随机数xi,x2; 2在给定相关系数下,将相关系数阵分解为T=CC; 2 3令yk=%+无CkiX(k=1,2),则yi,y是两个均值为0,方差为1,相关系数为定 \=1 制r的随机序列。 源程序见附录程序7 8.试编程产生联合密度函数如下式所示的二维随机数。 X6x f(X1,X2) 0其他 解: f(X1X2)的分布函数为: X2Xi3 F(x(,X2)=f(x-\,x2)dx1dx2=1-(^-^2) J_oOJ_oO 1_X21_X22 f(x2)f(^,x2)dx-! 6x1dx1=3(Vx2)0_x2_1 f(为|x2)=f(x1x2)=2%(1_x2)'x^x2 f(X2) X23 则有: F(X2)=of(x2)dx2=1-(1-x2)30乞x2辽1 x22 F(为|x2)=of(x11X? )d^=捲(1-劝0_n_1-x2 令: 1-(^x2)=u1 x/(1-x2)2=u2 由于1-U1仍为[0,1]区间的均匀随机数,此联立方程之解为: 111 X2=1-ufX1=U13U; 步骤: 1)产生[0.1]均匀分布随机数列u1u2 111 2)X2=1_U3Xr=u3u孑 9•编制应用举例中线谱增强器仿真软件,并进一步研究输出信噪比与输入信噪比的关系 仿真结果 Signal 图1分别为原始的余弦信号、输入信号和处理后的输出信号。 经过自适应线谱增强器,输岀信号中高斯白噪声被较大抑制,余弦周期信号相对明显。 SignalInstance Length(N) 图2分别显示了经过1次运算输岀的误差和经过500次运算输岀的平均误差。 I叩山 Output CompansioribetweenInputaridOutput 500 400 300 200 100 0 00.511.522.533.544.55 Frequency 图3为输入信号和输出信号的频谱图。 频谱图说明经过自适应谱线增强环节,白噪声的频谱强度降低,周期信号的谱线被突出了。 结果表明自适应谱线增强器可以和快速傅立叶变换相媲美,当未知正弦波具有一定带宽 或受调制时,则其性能优于经典的谱分析仪。 经过自适应线谱增强器,信噪比有明显的提高。 附录 程序1 一.独立性检 (1)用来验数列中自第i个数开始每m个数之间相关性的方法 %设定显著性水平为0.05,则z=1.96z=1.96; n=900; u=rand(1,n); i=1; m=2; M=floor((n-i)/m)-1; s=0; fork=0: M s=s+u(i+k*m)*u(i+(k+1)*m); endru=s/(M+1)-0.25;si=sqrt(13*M+7)/(12*(M+1));z0=abs(ru/si); ifz0<=z h=0; elseh=1; end h 运行程序得: h=0,即接受H0,不拒绝独立性假设,说明产生的随机数独立。 (2)用来验数列中相邻二数相关性的方法 n=900; u=rand(1,n); s=0; fori=1: n-1 s=s+u(i)*u(i+1); end s=s+u(n)*u (1); r=mean(u); p=s-n*rA2; s=0; fori=1: n s=s+u(i)*u(i); end q=s-n*rA2; ru=abs(p/q); ifru<2/sqrt(n) h=0; elseh=1; end 运行程序得: h=0,即接受H0,不拒绝独立性假设,说明产生的随机数独立。 (3)相关系数检验 %设定显著性水平为0.05,则z=1.96z=1.96; n=900; u=rand(1,n); r=mean(u); m=15; forj=1: m s=0; fori=1: n-j s=s+(u(i)-r)*(u(i+j)-r); end p=s/(n-1); s=0; fori=1: n s=s+(u(i)-r)A2; end q=s/(n-1); ru(j)=p/q; v(j)=abs(ru(j)*sqrt(n-j); ifv(j)<=z; h=0; elseh=1; end h end 运行程序得: h=0,即接受H0,不拒绝独立性假设,说明产生的随机数独立。 三、均匀性检验 2检验法 %均匀性检验 (1)kafang检验法 n=5000; u=rand(1,n); m=10; pi=1/m; %设显著水平,查表得kafang0.05(9)=16.919 f(1: 10)=0; fori=1: 5000 switchfloor(u(i)*10) case0 f (1)=f (1)+1; case1 f (2)=f (2)+1; case2 f(3)=f(3)+1; case3 f(4)=f(4)+1; case4 f(5)=f(5)+1; case5 f(6)=f(6)+1; case6 f(7)=f(7)+1; case7 f(8)=f(8)+1; case8 f(9)=f(9)+1; case9 f(10)=f(10)+1; end end s=0; forj=1: 10 s=s+(f(j)-500F2/500; end s ifsv16.919 h=0; elseh=1; end h 运行程序得: s=9.1160: h=0。 说明产生的随机样本符合均匀性。 四、数字特征检验 理想均匀分布随机数序列U(0,1)可以用三个数字特征完整地表述其统计特性,即 均值■'-1/2 万差二2=1/2 —阶原点矩-;: &2)=1/3 为了检验随机数列的独立性与均匀性,来检验样本均值、方差、二阶原点中心是否与理想均匀分布随机量地相应参数有无变化 %数字特征检验 n=500; u=rand(1,n); r=mean(u);%求样本均值 v=var(u);%求样本方差 s=0; fori=1: n s=s+u(i)A2; end s=s/n; s%求二阶矩 ifr-1/2<=0.01 a仁0; elsea1=1; end al ifv-1/12<=0.01 a2=0; elsea2=1; end a2 ifs-1/3<=0.01 a3=0;elsea3=1;end a3 运行程序得s=0.3281;a1=0;a2=0;a3=0。 说明产生样本的均值、方差、二阶原点中心矩 与理想均匀分布随机量地相应参数均无显著差异 程序2 %calculationPIty1/4cirdeir.square desrall,epsiliDn=O.OOi; total=0P i=0b whileabs(pi-pis)>epsilon total=totel+: ; 7=诅<1); continue; else i=L^l, end 程序3 fori.=klOO uI=innd: n2=rand; iful<=a x(i)=u2; eke x(i)=sqrt(li2) end stein(xit xlabel^['Len^tli(N-inin)2str(i)'J'JJFoiitSize'.ll): LitlefTmpeziaDistributionVFontSi2e\13);gridon: 程序4 N-2000; x=rand(I.N}: zI=jiqrt(12*N)*Iuiean(x)-I1\\ z2=sqn(1S0*N)*(vai(x)]1/12); zj=sqrt(45*N;4)*fsutunT}N4/3); lalplm二1.96; if|abs{zlizalphas&iabsiz2izalpha>&.iabsiz? izalphaiHO-I elseHO-0 end 程序5: 1)u仁rand(1,2000); a=1; b=5; x1(1: 2000)=0; fori=1: 2000 x1(i)=a+(b-a)*u1(i); end 2)u2=rand(1,2000); V=2; X2(1: 2000)=0; Fori=1: 2000 X2(i)=-log(u2(i))/v; End 3)u3=rand(1,2000); q=2; x3(1: 2000)=0; fori=1: 2000 x3(i)=q*sqrt(-2*log(u3(i))); end 程序6 clearall; closeall; i=1; k=linspace(1,25000,1000); forn=1: length(k) x=randn(1,n); y1(i)=mean(x);y2(i)=var(x); xx1=0; N=length(x); forj=1: N ifj==N x_f=x (1); elsex_f=x(j+1); end x_b=x(j); xx1=xx1+x_b*x_f; end ru(i)=(xx1-N*mean(x)^2)/(sum(x92)-N*mean(x)^2);ifabs(ru)<2/sqrt(N); H0(i)=1; elseH0(i)=0; end i=i+1; end figure (1); plot(k,y1);gridon; xlabel('样本大小N'); ylabel('均值'); figure (2); plot(k,y2);gridon; xlabel('样本大小N'); ylabel('方差'); figure(3); plot(k,ru);gridon; xlabel('样本大小N'); ylabel('独立性'); ()■ -O UI=rTLW: LL2=rand(LN): xl-sqrt(-2*lpgp.11)).*cos(2*pi*U2}; k2二sqrt(-2*lo^U2i)*sin{2*pi*U1). r二0.8; sigma-[Ir: rJ|: C=|II0;rsqrti]-K'2)|: yl=C(I,I)•xl+C(IJ|*s2; y2-C(2,1)*xl+C{2^)*k2; subplot21]).slem»yI);grid; xlah咄门朗唱th(N--1ninu2str(N)'f])L yhhd('YI'n titledrGau&shn仃讣uLian,Cornxicf='numZstrfrJ]T'Fo(ntSize\13) siiliplciti212 ylabdCYZ); meiinx]=nieaniyl) meany2-inejmyZ^ var_yI-\ar(yI) var_y2-\ar(v2} eur-cmrvoelivl,v2< a=07: b=0.7; |vy]=meshyrid{-10: .1: 11'< z-iisi(sinta*耳戶(K-一0))./(a*x+(x一0})y”Fy=0n./... (a*y+(y=0))); iijcshcix.v,zi: hiddenon/'u消'柠lith[+z-|siii(3x,ax*^in>k/fcy|[a= ^utSize'J5);xkbeXXToDtSjze;]4): yhbe)(T,ToiiSi7eJ4);zhlvli7\HFoniSizehJ4^ 程序8: clc closeall clearall n=20; u1=rand(1,n); u2=rand(1,n); fori=1: n x1(i)=(u1(i))A(1/3)*(u2(i)F(1/2);x2(i)=1-(u1(i))A(1/3); end x1 程序9: clear; N=2000;%信号长度 F=0.5;%信号数字频率 A=2;%信号幅度 K=500;%迭代次数 U-0.001;%迭代步长 delta=7; i=0: 0.1: 199.9; j=0: N-1; e2=zeros(1,N-10); fornum=1: K e1=zeros(1,N-10); w=[00000100000]; w1=fliplr(w);s=A*cos(2*pi*F*i); x=s+sqrt(1.5)*randn(1,N); x1=[zeros(1,delta),x(1: N-delta)];x2=[x,zeros(1,delta)]; %LMS fornum1=1: N-10b=x1(num1: num1+10);y(num1)=w1*b';e=x2(num1+delta)-y(num1);w1=w1+2*U*e*b; e1(num1)=eA2; end e2=e2+e1; end e2=e2/K; figure (1); subplot(311);plot(j,s);axis([0,500,-2,2]);title('Signal'); gridon;subplot(312);plot(j,x);axis([0,800,-5,5]);title('Signal+Noise'); gridon;subplot(313);plot(y);axis([0,800,-5,5]);title('OutputSignal');xlabel('Time'); gridon; holdoff; figure (2);subplot(211);plot(e1);xlabel('Length(N)');ylabel('Error'); title('SignalInstance');gridon;subplot(212);plot(e2,'r');xlabel('Length(N)');ylabel('Error'); title('500Instances');gridon;X=fft(x(1500: 2000)); Y=fft(y(1500: 1990)); figure(3);plot(10*[0: round(501/2-1)]/501,abs(X(1: round(501/2)))); holdon; plo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试用 Matlab 软件 编制 均匀 随机数 进行 性能 检验 各种
![提示](https://static.bdocx.com/images/bang_tan.gif)