基于Matlab GUI的大学物理实验数据处理系统设计
2022-03-23周志玉
周志玉
(集美大学诚毅学院 实验管理中心,福建 厦门 361021)
0 引言
大学物理实验数据处理是运用图像法、最小二乘法、逐差法[1,2]等计算物理方法,以及通过计算测量列平均值和不确定度数值来标定测量结果的过程,是大学物理实验教学的一个重要组成部分.传统的实验数据处理过程中,不确定度的计算公式繁杂,计算量大,需要占用大量的时间,这些局限导致学生将过多的精力置于数据的手工计算上,而忽略了对实验数据本身的分析和思考.近年来,Matlab以其强大的计算功能、图形可视化功能,逐渐应用到大学物理实验教学中[3,4].在计算方面,Matlab提供了大量的科学计算函数,用来处理曲线拟合、数据插值等问题[5];使用其图形用户界面GUI,可以设计出简单美观的人机交互界面,快速实现实验数据的交互式输入和计算功能[6,7].基于Matlab GUI的上述优点,结合不确定度的计算理论,分析不同实验的数据处理特点,设计出大学物理实验数据处理系统.该系统涵盖直接测量量不确定度的评定、作图法处理、逐差法处理、最小二乘法处理及部分实验项目数据处理等功能,将其应用到相关实验数据处理中,可以大大提高学生处理实验数据的效率,有更多的时间去分析测量结果和误差,进一步提高学生分析和解决问题的能力.
1 数据处理系统设计
1.1 系统设计思路及目标
数据处理系统的主界面设计为平均值和不确定度的处理界面.最常用的数据处理方法包括作图法、逐差法、最小二乘法,其处理界面单独设计,并通过菜单栏导入.针对一些数据处理较复杂的实验项目,也通过菜单按键导入专门的处理界面.通过上述主界面及菜单栏布局设计,大部分物理实验项目前期的数据处理都可以通过这个系统完成.
1.2 主界面分布
依据平均值和不确定度的评定步骤,在Matlab GUI平台上编辑和设计系统主界面并编写回调函数.主界面分布如图1所示,主要分为三个区域:左边建立1个表格控件,用于实现原始数据列的输入和检验无坏值后数据列的显示功能;中间区域分为三个功能区,最上面添加“数据重置”“差值计算”按钮控件,用于实现数据重置、差值计算的功能,中间添加“肖维涅准则检验坏值”按钮控件,用于实现肖维涅准则检验坏值及消除坏值等功能,最下面添加“参数输入”面板,用于实现输入置信系数和仪器误差相关参数;右边区域添加“平均值及不确定度计算结果”面板,用于实现计算和显示平均值、A类不确定度、B类不确定度等数值结果功能.
图1 数据处理系统主界面
主界面中肖维涅准则检验数据列出现坏值的判断依据主要通过下式进行[8]:
(1)
(2)
(2)式中uA为A类不确定度,uB为B类不确定度.
1.3 主界面菜单栏设计
系统主界面的菜单栏结构如图2所示.菜单栏由4个主菜单构成,主菜单下面又包含若干个子菜单.各个子菜单的实现功能如下:
图2 系统主界面菜单栏结构图
1)导入数据:将Excel文档的数据导入到主界面的表格中;
2)退出:退出数据处理系统主界面;
3)作图法:对实验数据进行绘制曲线处理;
4)逐差法:对实验数据进行逐差计算处理;
5)最小二乘法:应用最小二乘法对实验数据进行线性拟合处理;
6)导热系数实验:对导热系数实验数据进行处理;
7)金属线胀系数实验:对金属线胀系数实验数据进行处理;
8)太阳能电池特性实验:对太阳能电池特性实验数据进行处理;
9)牛顿环实验:对牛顿环实验数据进行处理.
2 数据处理系统应用
2.1“稳态法测量不良导体的导热系数”实验数据处理实例
“稳态法测量不良导体的导热系数”实验主要采用平板稳态法测量橡皮样品的导热系数.平板稳态法是指将样品制成平板状,其上端面与一个加热盘接触,下端面与另一个散热盘接触,利用加热盘对样品进行加热,当加热盘和散热盘温度基本保持不变时,加热达到了稳态,根据样品内部的温度分布可以算出导热系数.该实验通过导热系数接口利用温度传感器把加热盘和散热盘的温度值转化为电压值,再由电压传感器采集其电压值,根据温度变化和电压变化满足线性关系,由电压的变化可以获得温度的冷却速率.橡皮样品的导热系数λ的计算公式如下[9]:
(3)
(3)式中,m为橡皮样品的质量,C为散热盘的比热容,α为温度的冷却速率,u1和u2为电压值,hB为橡皮样品的厚度,dB为橡皮样品的直径,hp为散热盘的厚度,dp为散热盘的直径.
应用系统对该实验数据进行处理.通过主界面分别对橡皮样品的厚度、直径,散热盘的厚度、直径数值进行平均值和不确定度的计算,再通过菜单栏打开“导热系数实验”处理界面,输入对应的数值,进一步计算导热系数.部分处理结果如图3、图4所示.图3表格控件对应橡皮样品的直径数值,单位为厘米.
图3 橡皮样品的直径数值处理结果
图4 导热系数实验数据处理界面
2.2 “金属线胀系数的测定”实验数据处理实例
“金属线胀系数的测定”实验是通过对金属棒样品进行加热,再通过尺读望远镜和平面镜构成的光杠杆,对样品的微小伸长量进行放大测量,再通过最小二乘法获得望远镜中标尺刻度值随温度的变化率,从而进一步计算出线胀系数.设金属棒样品的线胀系数为α,则α的表达式为[10]:
(4)
(4)式中,L为金属棒样品的长度,H为平面镜后足尖到两前足尖中点的距离,D为直尺到平面镜镜面间的距离,∆N为温度变化为∆t时,尺读望远镜中标尺读数的差值.
应用系统对该实验进行数据处理.先通过菜单栏中的“最小二乘法”界面拟合出∆N随∆t的变化率,再点击菜单栏实验项目中的“金属线胀系数实验”界面,输入相关数据从而计算出线胀系数.数据处理结果如图5、图6 所示.图5表格控件分别对应∆t和∆N的数值,单位分别为摄氏度和厘米.
图5 最小二乘法处理界面
图6 金属线胀系数实验数据处理界面
2.3 “空气介质的声速测量”实验数据处理实例
“空气介质的声速测量”实验主要采用驻波法和相位法测量声波在空气中的传播速度.以驻波法的数据处理为例进行说明.如图7所示,发射换能器S1发出的声波,在空气中传播到达接收换能器S2,此时入射波在接收面上垂直反射部分声波信号,入射波与反射波相干涉形成驻波.对于驻波信号,任何两相邻的振幅最大值的位置之间(或两相邻的振幅最小值的位置之间)的距离均为半波长.通过连续多次测量相隔半波长的S2的位置变化,再通过逐差法就可以计算出波长的数值.应用系统对驻波法半波长位置的数值进行处理,先由“逐差法”界面计算出相当于三倍波长的差值列,再通过主界面对其进行平均值和不确定度的计算.
图7 驻波法测声速示意图
计算结果如图8(a)(b)所示,由(b)图中处理得到的平均值除于3即为波长数值,再结合声波频率进一步算出空气介质中的声速.
图8 驻波法测声速实验数据处理界面
图8(a)表格控件分别对应半波长位置的数值及差值列,图8(b)表格控件对应(a)图中的差值列,这些数值单位均为毫米.
3 结论
基于Matlab GUI设计大学物理实验数据处理系统.该系统主要实现对直接测量数据进行坏值检测、平均值和不确定度的评定功能,以及应用作图法、逐差法、最小二乘法等方法对相关实验项目进行数据处理.将该系统应用到实验教学中,学生可以从繁琐的计算中解放出来,进行更有意义的思考和探索.系统的部分功能界面因篇幅有限未能展示出来,后续会在系统中增加更多的实验项目,进一步完善该系统.