误差测量与处理课程实验
报告
学生姓名:学号:
学院:
专业年级:
指导教师:
年月
实验一 误差的基本性质与处理
一、实验目的
了解误差的基本性质以及处理方法。
二、实验原理
(1)正态分布
设被测量的真值为0L ,一系列测量值为i L ,则测量列中的随机误差i δ为
i δ=i L -0L (2-1)
式中i=1,2,…..n.
正态分布的分布密度 ()()
2
2
21
f e
δ
σδσπ
-=
(2-2)
正态分布的分布函数 ()()2
2
21
F e d
δ
δ
σδδσπ
--∞
=⎰
(2-3)
式中σ-标准差(或均方根误差); 它的数学期望为
()0
E f d δδδ+∞
-∞
==⎰
(2-4)
它的方差为
()22f d σδδδ
+∞
-∞
=⎰
(2-5)
(2)算术平均值
对某一量进行一系列等精度测量,由于存在随机误差,其测得值皆不相同,应以全部测得值的算术平均值作为最后的测量结果。
1、算术平均值的意义
在系列测量中,被测量所得的值的代数和除以n 而得的值成为算术平均值。
设 1l ,2l ,…,n l 为n 次测量所得的值,则算术平均值 121...n
i
n i l l l l x n n
=++=
=∑ 算术平均值与真值最为接近,由概率论大数定律可知,若测量次数无限增加,则算术平均值x 必然趋近于真值0L 。
i v = i l -x
i l ——第i 个测量值,i =1,2,...,;n i v ——i l 的残余误差(简称残差)
2、算术平均值的计算校核
算术平均值及其残余误差的计算是否正确,可用求得的残余误差代数和性质来校核。
残余误差代数和为:
1
1
n n
i
i
i i v l nx ===-∑∑
当x 为未经凑整的准确数时,则有
1
n
i
i v
==∑0
1)残余误差代数和应符合:
当
1n i
i l =∑=nx ,求得的x 为非凑整的准确数时,1n
i
i v =∑为零;
当
1n
i
i l =∑>nx ,求得的x 为凑整的非准确数时,1n
i
i v =∑为正;其大小为求x 时的余数。
当
1n
i
i l =∑<nx ,求得的x 为凑整的非准确数时,1
n
i
i v =∑为负;其大小为求x 时的亏数。
2)残余误差代数和绝对值应符合:
当n 为偶数时,
1n
i i v =∑≤
2
n
A; 当n 为奇数时,
1
n
i i v =∑≤0.52n A ⎛⎫- ⎪⎝⎭
式中A 为实际求得的算术平均值x 末位数的一个单位。
(3)测量的标准差
测量的标准偏差称为标准差,也可以称之为均方根误差。
1、测量列中单次测量的标准差
2222121
...n
i
n
i n
n
δ
δδδ
σ=+++=
=
∑
式中 n —测量次数(应充分大)
i δ—测得值与被测量值的真值之差
21
1
n
i
i v
n σ==
-∑
2、测量列算术平均值的标准差
x n
σ
σ=
3、 标准差的其他计算法 别捷尔斯法:
1
1.253
(1)
n
i
i v
n n σ==-∑
三、实验内容:
1.对某一轴径等精度测量9次,得到下表数据,求测量结果。
序号 i l /mm
i v /mm
22/i v mm
1 2 3 4 5 6
24.774 24.778 24.771 24.780 24.772 24.777
7 8 9 24.773 24.775 24.774
按下列步骤求测量结果。
1、算术平均值
2、求残余误差
3、校核算术平均值及其残余误差
4、判断系统误差
5、求测量列单次测量的标准差
6、判别粗大误差
7、求算术平均值的标准差
8、求算术平均值的极限误差
9、写出最后测量结果
四、实验总结
运行编制的程序,分析运行结果,并写出实验报告。
%计算算数平均值
L=[24.774,24.778,24.771,24.780,24.772,24.777,24.773,24.775,24.774 ];
format short
averageL=mean(L);
disp(['数据的平均值averageL=',num2str(averageL)]);
%计算残余误差
vi=L-averageL;
n=length(vi);
disp('各残余误差如下所示:');
%校核算术平均值和其残余误差
for k=1:n
disp(num2str(vi(k)));
end
sumvi=sum(vi(k));
if sum(L)==n*averageL
disp('平均值计算正确');
elseif sum(L)>n*averageL&sumvi>0&sumvi==sum(L)-n*averageL
disp('平均值计算正确');
elseif sum(L)<n*averageL&sumvi<0&sumvi==sum(L)-n*averageL
disp('平均值计算正确');
else disp('平均值计算错误');
end
%判断系统误差
if mod(n,2)~=0
h=(n+1)/2;
else
h=n/2;
end
vi1=vi([1:h]);vi2=vi([(h+1):end]);
sumvi1=sum(vi1);sumvi2=sum(vi2);
delta=sumvi1-sumvi2;
if delta<=1e-2
disp('此次测量无系统误差');
else
disp('此次测量有系统误差');
end
%求单次测量的标准差
xgm1=std(L);disp(['单次测量的标准差:',num2str(xgm1)]);
xgm11=1.253*sum(abs(vi))/sqrt(n*(n-1));
u=xgm11/xgm1-1;
if abs(u)<2/sqrt(n-1)
disp('再次确定测量列无系统误差');
else
disp('再次确定测量列有系统误差');
end
%判别粗大误差
for m=1:n
c=0;
if abs(vi(m))>=3*xgm1
disp(['第',num2str(m),'个数',num2str(L(m)),'含有粗大误差']); L(m)=[];
c=c+1;
else
end
end
if c==0
disp('无粗大误差');
end
%求算术平均值的标准差
xgm2=xgm1/sqrt(n);disp(['算术平均值的标准差:',num2str(xgm2)]);
%求算术平均值的极限误差
t=2.31;
Blimx=t*xgm2;
%写出最后测量结果
disp(['最后测量结果是:',num2str(averageL),'±',num2str(Blimx)]);
运行后的结果如下所示:
数据的平均值averageL=24.7749
各残余误差如下所示:
-0.00088889
0.0031111
-0.0038889
0.0051111
-0.0028889
0.0021111
-0.0018889
0.00011111
-0.00088889
平均值计算正确
此次测量无系统误差
单次测量的标准差:0.0029345
再次确定测量列无系统误差
无粗大误差
算术平均值的标准差:0.00097816
最后测量结果是:24.7749±0.0022595。