对粗大误差和随机误差处理解析.doc
文本预览下载声明
误差理论与数据处理大作业
题 目:(粗大误差和随机误差的处理)
专 业 测控技术与仪器
学 生 张景坤 张博
学 号 130220323 130220322
班 号 1302203
指导教师 罗清华
日 期 2015.12.5
联系方式
分工和工作量分配情况
张景坤(130220323):小组组长:调研及分析,书写报告
张博(130220322):调研、整理、书写报告
1.课题题目及要求
1.1课题题目
用matlab对一组随机数据的粗大误差和随机误差的处理
2.需求及调研分析
2.1需求分析
当今社会,人们对测量和仪器的精确性要求越来越高,传统的测量精确度远远不能满足当今科技以及人们生活方面的要求,所以需要一种能够快速分析误差的方法出现。matlab可以大大减少人工运算的成本,成本低,可行性高,而且具有普遍性,故采用matlab来进行误差处理。
2.2工作流程分析
我们拿到这个课题时,首先深入熟悉了关于随机误差了系统误差3.系统设计方面的知识,然后根据每个人擅长的方面进行了分配。由张景坤同学负责写程序,张博同学主要负责整理,书写报告。
3.系统设计
3.1总体方案设计
3.1.1等精度测量粗大误差处理
粗大误差的判别准则?
(1)莱以特准则(3σ准则)?
具体方法:求出平均值和σ,将残差的绝对值与3σ进行比较,大于3σ的测量值都是坏值。这种方法称为 3σ法则(正态分布)。
适合测量点数较大的情况,计算所有的点。逐一剔除异常值
(2)罗曼诺夫斯基准则
具体方法:首先剔除一个可疑的测得值,然后按照t分布检验被剔除的测量值是否含有粗大误差。如果是,剔除后,再判断其它的测试结果点。
适合条件:测量次数较少的情况,是逐一剔除的。
2.等精度测量随机误差处理?
(1)?算数平均值
大多数情况下,真值未知,用来代替误差:
:测量次数
(2)测量列算数平均值标准差
(3)算数平均值的极限误差:
t为置信系数,通过查表可得。
(4)结果表示:
3.2软件流程设计
3.2.1等精度测量计算流程
是
3.2.2 matlab程序
clc;
clear;
data=load(test.txt); %从文本文档中读出数据
v_2=0; %定义残差的平方
average_data=0; %定义数据的平均值
average_data=mean(data);%计算平均值
if(length(data)10) %判断数据的长度,用罗曼诺夫斯基准则剔除粗大误差
while(1)
for i=1:length(data) %计算残差和残差的平方和
v(i)=data(i)-average_data;
v_2=v_2+v(i)^2;
end
[max_v,I]=max(abs(v));`
sum=0;
for i=1:length(data)
sum=sum+v(i);
end
average_data=sum/(length(data)-1); %计算数据的平均值
bzc=(v_2/(length(data)-2))^0.5; %计算数据的标准差
alpha=0.05;
t=tinv(1-alpha/2,length(data)-2);
if(v(I)=(t*bzc)) %判断数据是否为粗大误差
data(I)=[];
else break;
end
v=[];
end
end
if(length(data)=10)
while(1)
for i=1:length(data) %计算残差和残差的平方和
v(i)=data(i)-average_data;
v_2=v_2+v(i)^2;
end
bzc=(v_2/(k-1))^0.5; %计算标准差
bzc_3=3*bzc;
[max_v,I]=max(abs(v));
if max_vbzc_3 %根据莱以特准则剔除粗大
显示全部