陳鯉江,鄭云巧,孫曉夢
(浙江工業(yè)大學(xué)之江學(xué)院,浙江 杭州 310024)
用已知物理量的數(shù)值通過運算關(guān)系計算待求物理量數(shù)值的同時,推導(dǎo)出待求物理量的單位也是物理作業(yè)中不可缺少的重要環(huán)節(jié)。在物理作業(yè)及物理實驗數(shù)據(jù)處理的無紙化研究中,數(shù)值的智能運算方法基本開發(fā)出來[1],而物理量單位的智能導(dǎo)出及換算問題卻有待解決。
目前,有關(guān)物理量單位處理的系統(tǒng)中,待求物理量的單位及其換算工作基本上都是由人工來完成的[2-5],系統(tǒng)只自動進行數(shù)值運算,而無單位的智能推導(dǎo),這樣以來,若系統(tǒng)處理的物理量越多,系統(tǒng)里人工設(shè)定的物理量的單位相應(yīng)就越多。由計算機智能導(dǎo)出并轉(zhuǎn)換單位,可以減輕甚至消除人為設(shè)定或選定單位的負擔(dān),同時對學(xué)生人工的物理作業(yè)中待求物理量單位的正確性的智能評判也具有積極的意義。
提出一種物理量單位的智能導(dǎo)出及換算算法。計算機獲取運算式中已知運算物理量的單位后,自動轉(zhuǎn)換其單位,并通過運算關(guān)系自動導(dǎo)出待求物理量的單位。實驗結(jié)果表明,運用該算法的物理量單位自動導(dǎo)出及換算的正確率為100%,且物理量數(shù)值的運算符合有效數(shù)字運算規(guī)則的要求,運算結(jié)果正確。
特求物理量的單位是通過其與已知物理量之間的運算關(guān)系來導(dǎo)出的,即通過運算關(guān)系中所包含的單位運算式來導(dǎo)出。由于運算式中的各加減項的單位相同,因此,待求物理量的單位可由加減項中的乘除運算式來決定,如一待求物理量 的單位運算式如(1)式所示:
式中,[Q]表示物理量Q的單位[6]??梢钥闯?,式中的同一種量綱可能出現(xiàn)多次,且其單位不一定相同,如(1)式中長度量綱的單位就有“cm”和“mm”兩種且多次出現(xiàn),還有單位指數(shù)的情況,同一種量綱的各個單位之間必須進行單位轉(zhuǎn)換。單位的轉(zhuǎn)換方法如下:
同一種量綱中若存在國際標準單位,則將該量綱中的所有單位全部轉(zhuǎn)換成國際標準單位,若不存在國際標準單位,則以個數(shù)最多的單位為準,將該量綱中的其它單位全部轉(zhuǎn)換成該單位。如(1)式中,“cm”的個數(shù)比“mm”多,因此長度單位全部轉(zhuǎn)換成“cm”的形式。
數(shù)據(jù)庫中單位的轉(zhuǎn)換關(guān)系以國際標準單位為準來標定,如長度單位轉(zhuǎn)換關(guān)系的標定為1m=100cm=1 000mm。這樣,將“mm”轉(zhuǎn)換成“cm”的形式時,轉(zhuǎn)換系數(shù)由該關(guān)系就可得:
數(shù)據(jù)庫中的單位換算表如圖1所示,表中的同一行記錄里的各個單位屬于同一種量綱的單位。待求物理量單位的導(dǎo)出及轉(zhuǎn)換算法如下:
圖1 物理量單位換算表數(shù)據(jù)庫
以乘號(如“*”)和除號(如“/”)為斷點提取單位運算式中的各個單位及其指數(shù)[1],分別存放在兩個數(shù)組中,一個數(shù)組存放單位,另一個數(shù)組存放單位的指數(shù)。對于無指數(shù)的單位,其指數(shù)設(shè)為1。對于除數(shù)(分母)中各單位的指數(shù)全部乘以“-1”,將運算式中的除法式全部轉(zhuǎn)變乘法式。通過數(shù)據(jù)庫的自動調(diào)用技術(shù)[7]首先識別單位數(shù)組中同種量綱的各個單位(數(shù)組中的一些單位若屬于圖1中同一行記錄里的單位時,則它們屬于同種量綱的單位)。若存在國際標準單位,則將該量綱中的其它單位全部轉(zhuǎn)換成國際標準單位;若不存在國際標準單位,則以個數(shù)最多的單位為準,將該量綱中的其它單位全部轉(zhuǎn)換成該單位,轉(zhuǎn)換方法如式(2)所示。各個轉(zhuǎn)換系數(shù)經(jīng)過單位的指數(shù)冪運算后再進行相乘操作,同一種單位的指數(shù)的代數(shù)和即為這種單位運算后的指數(shù)。轉(zhuǎn)換系數(shù)的最終乘積與處理后的各個單位以文本的形式連接起來,其中單位與單位之間用“”號連接以表示待求的單位。算法流程框圖如圖2所示:
在數(shù)據(jù)處理中,各直接測量量(已知量)通過運算關(guān)系計算間接測量量(待求量)時,數(shù)據(jù)和單位都是通過該運算關(guān)系來運算的。如金屬絲彈性模量的運算式[8]及各測量值的代入式如(3)式所示:
計算機首先將數(shù)據(jù)代入式分成數(shù)值運算式和單位運算式,如(3)式所示。采用有效數(shù)字運算算法[1]運算數(shù)值運算式,采用物理量單位的導(dǎo)出及轉(zhuǎn)換算法運算單位運算式。數(shù)值運算式和單位運算式的分離方法為:用數(shù)字、“π”來識別常量或測量數(shù)值,用英文字母、“°”、“′”、“″”、“℃”來識別數(shù)據(jù)的單位,標記有單位的數(shù)值,則該數(shù)值就是有效數(shù)字,以便其按有效數(shù)字運算原則[1,8]進行運算。
圖3 物理量的運算過程示意圖
運用圖3實驗系統(tǒng)對物理量運算式中的單位導(dǎo)出及換算工作進行了大量的實驗,實驗結(jié)果都表明算法應(yīng)用結(jié)果的正確率為100%。
實驗的結(jié)果驗證了算法的正確性。通過指數(shù)的符號變換將除法形式的單位運算式轉(zhuǎn)換成乘法形式,有利于對同一種單位的指數(shù)進行代數(shù)和運算以簡化單位運算式。在單位換算的過程中,單位的指數(shù)不發(fā)生變化,換算系數(shù)進行冪操作。
計算機智能推導(dǎo)成什么樣的單位可以由實際應(yīng)用來決定。對于物理實驗數(shù)據(jù)處理來說,基本上都要求處理的結(jié)果均為國際標準單位;而在對物理作業(yè)的評估中,計算機不但可以通過自動運算數(shù)值及導(dǎo)出單位來驗證作業(yè)練習(xí)者人工得出結(jié)果的正確性,反過來還可根據(jù)作業(yè)練習(xí)者人為導(dǎo)出的單位來自動轉(zhuǎn)換運算式中的各個單位,再以單位轉(zhuǎn)換后得到的數(shù)值來評估作業(yè)練習(xí)者數(shù)值運算的正確性。
[1] 陳鯉江,吳姚鑫,鄭水泉,等.位數(shù)隨機的有效數(shù)字自動運算算法[J].計算機應(yīng)用與軟件,2012,29(6):97-99.
[2] 賀雅奇.EXCEL在物理實驗數(shù)據(jù)處理中的應(yīng)用研究[J].大學(xué)物理實驗,2011,24(2):70-71.
[3] 桑運洪,李少清,韓天峰,等.單位換算技術(shù)在水泵測試軟件中的應(yīng)用[J].農(nóng)業(yè)裝備與車輛工程,2009,(1):45-47.
[4] 王祖源,謝東.《大學(xué)物理》遠程輔導(dǎo)模式的探討與實踐[J].物理,2004,33(6):464-466.
[5] 鄭藝華,劉玉申.化工計算中的計量單位及換算軟件的設(shè)計與開發(fā)[J].計算機與應(yīng)用化學(xué),2003,20(6):841-844.
[6] 施建青.大學(xué)物理學(xué)[M].北京:高等教育出版社,2010.
[7] 陳慶章主編.Visual Basic程序設(shè)計基礎(chǔ)[M].杭州:浙江科學(xué)技術(shù)出版社,2007.
[8] 馬春生,鄭水泉,杜娟.新編大學(xué)物理實驗[M].北京:中國水利水電出版社,2010.