试用Matlab软件编制对均匀随机数进行性能检验的各种方.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 试用Matlab软件编制对均匀随机数进行性能检验的各种方法的检验,判断程序。
解:所编程序如下
通过相关系数来间接检验随机数列的独立性。
(1)用来验数列中自第i个数开始每m个数之间相关性的方法
%设定显著性水平为0.05,则z=1.96 z=1.96;
n=900;
u=rand(1,n);
i=1;
m=2;
M=floor((n-i)/m)-1;
s=0;
for k=0:M
s=s+u(i+k*m)*u(i+(k+1)*m);
end
ru=s/(M+1)-0.25;
si=sqrt(13*M+7)/(12*(M+1));
z0=abs(ru/si);
if z0<=z
h=0;
else h=1;
end
h
H,不拒绝独立性假设,说明产生的随机数独立。
运行程序得:h=0,即接受
(2)用来验数列中相邻二数相关性的方法
n=900;
u=rand(1,n);
s=0;
for i=1:n-1
s=s+u(i)*u(i+1);
end
s=s+u(n)*u(1);
r=mean(u);
p=s-n*r^2;
s=0;
for i=1:n
s=s+u(i)*u(i);
end
q=s-n*r^2;
ru=abs(p/q);
if ru<2/sqrt(n)
h=0;
else h=1;
end
H,不拒绝独立性假设,说明产生的随机数独立。运行程序得:h=0,即接受
(3)相关系数检验
%设定显著性水平为0.05,则z=1.96
z=1.96;
n=900;
u=rand(1,n);
r=mean(u);
m=15;
for j=1:m
s=0;
for i=1:n-j
s=s+(u(i)-r)*(u(i+j)-r);
end
p=s/(n-1);
s=0;
for i=1:n
s=s+(u(i)-r)^2;
end
q=s/(n-1);
ru(j)=p/q;
v(j)=abs(ru(j)*sqrt(n-j);
if v(j)<=z;
h=0;
else h=1;
end
h
end
H,不拒绝独立性假设,说明产生的随机数独立。运行程序得:h=0,即接受
一、均匀性检验
2
检验法
%均匀性检验(1)kafang检验法
n=5000;
u=rand(1,n);
m=10;
pi=1/m;
%设显著水平,查表得kafang0.05(9)=16.919
f(1:10)=0;
for i=1:5000
switch floor(u(i)*10)
case 0
f(1)=f(1)+1;
case 1
f(2)=f(2)+1;
case 2
f(3)=f(3)+1;
case 3
f(4)=f(4)+1;
case 4
f(5)=f(5)+1;
case 5
f(6)=f(6)+1;
case 6
f(7)=f(7)+1;
case 7
f(8)=f(8)+1;
case 8
f(9)=f(9)+1;
case 9
f(10)=f(10)+1;
end
end
s=0;
for j=1:10
s=s+(f(j)-500)^2/500;
end
s
if s<16.919
h=0;
else h=1;
end
h
运行程序得:s=9.1160: h=0。说明产生的随机样本符合均匀性。
二、 数字特征检验
理想均匀分布随机数序列U(0,1)可以用三个数字特征完整地表述其统计特性,即 均值 1/2μ=
方差 21/2σ=
二阶原点矩 2()1/3x ν=E =
为了检验随机数列的独立性与均匀性,来检验样本均值、方差、二阶原点中心是否与理想均匀分布随机量地相应参数有无变化
%数字特征检验
n=500;
u=rand(1,n);
r=mean(u);%求样本均值
v=var(u);%求样本方差
s=0;
for i=1:n
s=s+u(i)^2;
end
s=s/n;
s %求二阶矩
if r-1/2<=0.01
a1=0;
else a1=1;
end
a1
if v-1/12<=0.01
a2=0;
else a2=1;
end
a2
if s-1/3<=0.01
a3=0;
else a3=1;
end
a3
运行程序得 s=0.3281;a1=0;a2=0;a3=0。说明产生样本的均值、方差、二阶原点中心矩与理想均匀分布随机量地相应参数均无显著差异
2.根据一单位正方形与其两相邻边为半径的1/4圆,用MCM 估计π值,给出求解步骤及相关程序。
解:求解步骤如下:
① 设定所需精度;
② 产生两个 (0,1)均匀分布的随机数x 和y ;
③ 判断,若22
x y +<1,则次数i+1,否则返回①进行下一次实验;
④ 计算本次实验后的估计值pi=4*i/total,total 为已进行实验次数;
⑤ 判断精度,若pi 和真值π的差小于所设精度,停止实验,输出pi,否则返回①进
行下一次实验。 3.用组合法产生梯形分布密度的随机变量:
2(1)01()0a a x x f x +-≤≤⎧=⎨⎩
其它 解:可将梯形密度函数f(x)划分为一个梯形和一个三角形密度函数的组合。