物理量单位的智能导出算法及其应用
2013-10-25陈鲤江郑云巧孙晓梦
陈鲤江,郑云巧,孙晓梦
(浙江工业大学之江学院,浙江 杭州 310024)
用已知物理量的数值通过运算关系计算待求物理量数值的同时,推导出待求物理量的单位也是物理作业中不可缺少的重要环节。在物理作业及物理实验数据处理的无纸化研究中,数值的智能运算方法基本开发出来[1],而物理量单位的智能导出及换算问题却有待解决。
目前,有关物理量单位处理的系统中,待求物理量的单位及其换算工作基本上都是由人工来完成的[2-5],系统只自动进行数值运算,而无单位的智能推导,这样以来,若系统处理的物理量越多,系统里人工设定的物理量的单位相应就越多。由计算机智能导出并转换单位,可以减轻甚至消除人为设定或选定单位的负担,同时对学生人工的物理作业中待求物理量单位的正确性的智能评判也具有积极的意义。
提出一种物理量单位的智能导出及换算算法。计算机获取运算式中已知运算物理量的单位后,自动转换其单位,并通过运算关系自动导出待求物理量的单位。实验结果表明,运用该算法的物理量单位自动导出及换算的正确率为100%,且物理量数值的运算符合有效数字运算规则的要求,运算结果正确。
1 物理量单位的导出及换算算法
特求物理量的单位是通过其与已知物理量之间的运算关系来导出的,即通过运算关系中所包含的单位运算式来导出。由于运算式中的各加减项的单位相同,因此,待求物理量的单位可由加减项中的乘除运算式来决定,如一待求物理量 的单位运算式如(1)式所示:
式中,[Q]表示物理量Q的单位[6]。可以看出,式中的同一种量纲可能出现多次,且其单位不一定相同,如(1)式中长度量纲的单位就有“cm”和“mm”两种且多次出现,还有单位指数的情况,同一种量纲的各个单位之间必须进行单位转换。单位的转换方法如下:
同一种量纲中若存在国际标准单位,则将该量纲中的所有单位全部转换成国际标准单位,若不存在国际标准单位,则以个数最多的单位为准,将该量纲中的其它单位全部转换成该单位。如(1)式中,“cm”的个数比“mm”多,因此长度单位全部转换成“cm”的形式。
数据库中单位的转换关系以国际标准单位为准来标定,如长度单位转换关系的标定为1m=100cm=1 000mm。这样,将“mm”转换成“cm”的形式时,转换系数由该关系就可得:
数据库中的单位换算表如图1所示,表中的同一行记录里的各个单位属于同一种量纲的单位。待求物理量单位的导出及转换算法如下:
图1 物理量单位换算表数据库
以乘号(如“*”)和除号(如“/”)为断点提取单位运算式中的各个单位及其指数[1],分别存放在两个数组中,一个数组存放单位,另一个数组存放单位的指数。对于无指数的单位,其指数设为1。对于除数(分母)中各单位的指数全部乘以“-1”,将运算式中的除法式全部转变乘法式。通过数据库的自动调用技术[7]首先识别单位数组中同种量纲的各个单位(数组中的一些单位若属于图1中同一行记录里的单位时,则它们属于同种量纲的单位)。若存在国际标准单位,则将该量纲中的其它单位全部转换成国际标准单位;若不存在国际标准单位,则以个数最多的单位为准,将该量纲中的其它单位全部转换成该单位,转换方法如式(2)所示。各个转换系数经过单位的指数幂运算后再进行相乘操作,同一种单位的指数的代数和即为这种单位运算后的指数。转换系数的最终乘积与处理后的各个单位以文本的形式连接起来,其中单位与单位之间用“”号连接以表示待求的单位。算法流程框图如图2所示:
2 物理量单位导出及转换算法的应用原理
在数据处理中,各直接测量量(已知量)通过运算关系计算间接测量量(待求量)时,数据和单位都是通过该运算关系来运算的。如金属丝弹性模量的运算式[8]及各测量值的代入式如(3)式所示:
计算机首先将数据代入式分成数值运算式和单位运算式,如(3)式所示。采用有效数字运算算法[1]运算数值运算式,采用物理量单位的导出及转换算法运算单位运算式。数值运算式和单位运算式的分离方法为:用数字、“π”来识别常量或测量数值,用英文字母、“°”、“′”、“″”、“℃”来识别数据的单位,标记有单位的数值,则该数值就是有效数字,以便其按有效数字运算原则[1,8]进行运算。
3 实验及其结果
图3 物理量的运算过程示意图
运用图3实验系统对物理量运算式中的单位导出及换算工作进行了大量的实验,实验结果都表明算法应用结果的正确率为100%。
4 讨论与结论
实验的结果验证了算法的正确性。通过指数的符号变换将除法形式的单位运算式转换成乘法形式,有利于对同一种单位的指数进行代数和运算以简化单位运算式。在单位换算的过程中,单位的指数不发生变化,换算系数进行幂操作。
计算机智能推导成什么样的单位可以由实际应用来决定。对于物理实验数据处理来说,基本上都要求处理的结果均为国际标准单位;而在对物理作业的评估中,计算机不但可以通过自动运算数值及导出单位来验证作业练习者人工得出结果的正确性,反过来还可根据作业练习者人为导出的单位来自动转换运算式中的各个单位,再以单位转换后得到的数值来评估作业练习者数值运算的正确性。
[1] 陈鲤江,吴姚鑫,郑水泉,等.位数随机的有效数字自动运算算法[J].计算机应用与软件,2012,29(6):97-99.
[2] 贺雅奇.EXCEL在物理实验数据处理中的应用研究[J].大学物理实验,2011,24(2):70-71.
[3] 桑运洪,李少清,韩天峰,等.单位换算技术在水泵测试软件中的应用[J].农业装备与车辆工程,2009,(1):45-47.
[4] 王祖源,谢东.《大学物理》远程辅导模式的探讨与实践[J].物理,2004,33(6):464-466.
[5] 郑艺华,刘玉申.化工计算中的计量单位及换算软件的设计与开发[J].计算机与应用化学,2003,20(6):841-844.
[6] 施建青.大学物理学[M].北京:高等教育出版社,2010.
[7] 陈庆章主编.Visual Basic程序设计基础[M].杭州:浙江科学技术出版社,2007.
[8] 马春生,郑水泉,杜娟.新编大学物理实验[M].北京:中国水利水电出版社,2010.