粗大-系统-随机误差处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计用仪器设备名称

此次课程设计用到的仪器设备和软件包括: (1) 个人计算机; (2) Matlab 软件。

课程设计过程

1、课程设计处理原理:

此次课程开展的数据处理包:(1)粗大误差处理;(2)系统误差处理;(3)随机误差处理。他们的原理分别分析如下:

(1)粗大误差处理

对于粗大误差,采用莱以特准则和罗曼诺夫斯基准则。

莱以特准则:求出数据的算数平均值x 和标准差σ,将残差的绝对值i x v 和

3σ进行比较,大于3σ的值都认为是粗大误差。

罗曼诺夫斯基准则:首先剔除该数据中的最大值,然后再按照t 分布检验,

求出该项与剔除后平均值的差,即d x x −,再与()2,K n a σ−进行比较,如果前者大于等于后者,那么该数据有系统误差。

(2)系统误差处理

对于系统误差,我们采用了残差总和判断法,阿贝-赫梅判别法,标准差比较法,他们的原理如下:

残差总和判断法:对于等精度的系统测量数据12,,...n x x x ,设相对的残差

分别是12,,...n v v v ,若有12n

i i v =>∑,则怀疑测量数据有系统误差

阿贝-赫梅判别法:对于等精度的系统测量数据12,,...n x x x ,设相对的残,

分别是12,,...n v v v ,122311

1

...n

n n i i i u v v v v v v v v

−+==+++=

∑,如果2u >,

则判定该组数据含有系统误差。

标准差比较法:对于等精度的系统测量数据12,,...n x x x ,设相对的残差分

别是12,

,...n v v v ,用不同的公式计算标准差,通过比较可以发现存在的系

统误差。用贝塞尔公式计算,1s

=

,用别捷尔斯公式计算,

1s

=211s s ≥,则怀疑测量中存在系统误差。 (3)随机误差处理

我们考虑了正态分布和t 分布两种情况,通过置信概率和自由度分别在正态分布积分表和t 分布表中找到对应的t 值,再求出极限误差lim x t ςσ=+。 2

课程设计的整体流程图如图(一)所示。在图(一)中,粗大误差分析,系统误差分析,随机误差分析都作为子程序存在。首先我们是将存储在txt 文件中的测量数据导入到matlab 中,然后进行在子程序中用两种方式进行粗大误差分析,并返回剔除异常值以及剔除异常值后的测量数据。接着进行系统误差分析,用了三种方法检测是否具有系统误差,并返回测量结果。之后进行随机误差分析,返回两种分布的极限误差。最后将本次测量结果都写入到txt 文件中。

斯基准则进行分析。首先看莱以特准则,计算测量数据第i项的残差,之后比较残差与三倍标准差的的值大小,如果残差大于三倍标准差就剔除该项,否则进行下一项的比较,比较完成后返回剔除异常值后剩余的数据。另外是罗曼诺夫斯基准则,首先将最大值作为怀疑对象,从测量数据中剔除出来。然后求该值与剔除后数据的平均值之差,与t分布下的标准差进行比较,如果前者大,则进行下一次循环,否则结束循环,并把该次循环中的最大值重新放入测量数据中,最后返回剔除异常值后剩余的数据。

(3)系统误差处理

计算判断方法所需要的数值,然后对各个方法的判断条件进行比较,如果满足就返回有系统误差,否则返回没有系统误差。

如(图四)所示,首先接收已经剔除异常值的数据,然后计算平均值和标准差,进行正态分布和t 分

布的查表,我将正态分布和t 分布的表格数据存储到matlab 的数组中,并将它们封装成独立的

子m 程序,只要输入对应的自由度和置信概率就

可以得到相应的t 值。然后将两个t 值乘上标准

差得到对应的极限误差,并返回两个极限误差。

3、实验规划

如何输入数据:将测量结果以行存储在txt文件中,,在matlab中利用textread函数读取txt数据,并将其存储在一维数组中。

如何使用matlab:首先新建一个主文件并保存,接着建立了5个函数,如下所示: Thick_Error.m 粗大误差处理

Systematic_Error.m 系统误差处理

Random_Error.m 随机误差处理

Normal_distribution.m正态分布t值查找

T_FenBu.m t分布t值查找

如何编写程序:依照误差处理的原理一步一步进行数据分析,将所得结果进行打印在命令行窗口,并将所有数据打印在txt文件中

如何程序运行、调试程序:运行上边三角运行按钮,还可以选中某些行代码右键运行。运行错误时会设置断点,一步一步运行,并看着工作区的显示的数值是否是我想得到的那个值。通常我还在程序中加一些打印字符

串,用于发现错误之处。

4、代码分析

(1)数据输入:

path="C:\Users\dingshuai\Desktop\误差\课程设计\误差处理.txt";

date=textread(path,'%f',15)';

首先将txt文件路径存储在path中,利用textread函数读取存储在txt文件中的15个测量数据,并存储在数组date中

(2)主函数

粗大误差处理

[result_1,rid_value_1,result_2,rid_value_2]=Thick_Error(date);

%莱以特准则:rid_value_1表示剔除值 result_1表示剔除后剩余数据

%罗曼诺夫斯基准则:rid_value_2表示剔除值 result_2表示剔除后剩余数据

disp("莱以特准则剔除数据");disp(rid_value_1);

disp("罗曼诺夫斯基准则");disp(rid_value_2);

判断系统误差

相关文档
最新文档