廖碧涛;邱兰
【期刊名称】《内江科技》 【年(卷),期】2017(038)011 【总页数】2页(P50-51) 【作 者】廖碧涛;邱兰
【作者单位】绵阳师范学院数理学院;德阳市旌阳区和新思源学校 【正文语种】中 文
在实验测量中,粗大误差是异常值,严重歪曲了测量结果,所以在处理数据时首先应将其剔除,否则将严重影响标准差、平均差等的计算。传统的人工剔除法计算,耗时又耗力,而且还不能保证其精准性。本文采用VBA(Visual BASIC For Application)来建立应用程序,以自动化的方式完成粗大误差的自动剔除,具有快速、可靠、方便等优点。
数据处理是科学实验的重要组成部分,实验数据的处理包括:数据粗大误差的剔除,平均值的计算,不确定度的评定等。可见数据处理的第一步就是剔除实验粗大数据,但是它的计算又比较复杂,而且手工计算量很大,容易出错。本文尝试利用excel软件对实验数据中的粗大误差予以自动剔除,使得我们的数据处理更方便、便捷。 粗大误差又称“疏失误差”或“寄生误差”,是指明显超出在规定条件下预期的误差[1]。它的主要特征是明显歪曲了实验测量结果。它的行程原因可归纳为测量条件突变或人为因素。比如测量时对错了标志、读错或记错了数、使用有缺陷的仪器、在测量时因为操作不细心而引起过失性错误、仪器失灵、实验条件突变,工作人员
疲劳工作、责任心不强、技术水平不高、测量方法错误等。由于粗大误差从数值的大小而言是严重超出了正常的误差范围,并且没有规律性,会对我们的实验测量结果造成严重的影响。因此,当发现粗大误差时候应该予以剔除。但在判定一个值是否是粗大误差时候要谨慎,通常采用粗大误差的统计判定准则进行。粗大误差的统计判别准则有莱以达准则、格拉布斯准则、罗曼诺夫斯基准则[2]。
如果按上述准则判别出测量列中有两个以上测得值含有粗大误差,此时只能首先剔除含有最大误差的测得值,然后重新计算测量列的算术平均值及其标准差,再对余下的测得值进行判别,依次程序逐步剔除,直至所有测得值皆不含粗大误差为止。 对某一物理量等精度测量n次,得一测量列xi(i~n),对于某个测量值,我们先计算残差,若其(S为标准差)则认为该测量值含有粗大误差,为异常值,应予以剔除。莱以达准则适合于大样本,因为在n≤10的情形,用莱以达准则剔除粗大误差一定失效,因为,当nlt;10时,恒成立。但是莱以达准则简便、无须查表所以在要求不高时经常使用[3]。
例:对恒温室标准温度20.00 ℃测量15次,测量值 Ti见表1,试判断有无坏值。 首先计算平均值 计算残差填入表格。
算出标准差 由表中知,|v8|=0.104gt;3S,所以所以T8 =20.30 ℃中含有粗大误差,应该剔除。
剔除T8以后,进一步检验数据的合理性。所有余下的14个残差都小于3S',即剔除 T8后,测量值中不再有粗大误差。
Excel的常规功能可以半自动的剔除数据但对于较为复杂的操作,使用Excel的常规功能处理数据就稍显繁琐,而且随数据量的增多而愈显复杂。此时我们可以使用VBA(Visual BASIC For Application)来控制应用程序,以自动化的方式完成数据处理任务。所有的Excel常规操作都可以通过VBA来控制实现。与此同时,可以设计自己的算法以实现不同的功能。自己编写的VBA程序不仅可以加入程序流
程控制语句,还可以使用众多的VBA内置函数、内置参数等,而且还能设计并调用过程(Sub)与函数(Function)。除此之外,还可以向工作簿添加控件及其相应的程序[4]。
(1)新建工作簿和数据。
(2)创建宏命令。按快捷键Alt+F11直接打开VB的编辑窗口,双击左侧对应需要数据处理的工作表名会弹出宏程序的编辑窗口。或者点击工具—宏—VB编辑器。 (3)写入程序代码。在编辑窗口中输入以下代码(注释文字除外)。
利用代码程序之后我们能非常方便、快捷地找出粗大误差,如果待处理数据中有多个粗大误差,发现一次剔除一个,直到数据中没有粗大误差为止。
本文尝试采用VBA编写代码程序,以自动化的方式完成粗大误差的自动剔除,其优点在于可重复利用莱以达准则剔除粗大误差,节省了时间,也让运用该方法处理实验数据的学生体验到了运用计算机技术解决计算问题的便捷与准确,增强了学生在实验中利用计算机处理问题的兴趣。
【相关文献】
[1]梁晋文,陈林才,何贡.误差理论与数据处理[M].北京:中国计量出版社,2001:8 [2]卢新柳,高潭华.用EXCEL处理实验数据粗大误差剔除的方法[J].福建师大福清分校学报,2015(2):65
[3]高潭华,卢道明.大学物理实验[M]. 上海:同济大学出版社,2009:10-15 [4]郭刚.Excel 2013 VBA 入门与应用[M].北京:清华大学出版社,2014:66
因篇幅问题不能全部显示,请点此查看更多更全内容