摘要:本文介紹了結合歐幾里得算法和計算機騙程處理密里根油滴試驗數據,從而尋找基本電荷e的電量的方法。
關鍵詞:密里根油滴試驗,歐幾里得算法,基本電荷
密立根油滴實驗是近代物理學發展史上一個十分重要的實驗。它證明了任何帶電體所帶電荷都是某一最小電荷——基本電荷的整數倍。幾十年來一直是物理系學生必做的試驗。該實驗從設計出來至今已經近百年了,實驗儀器也被極度更新、測量變得更加方便,但是其中的一個關鍵環節一數據處理始終未能很好的解決。為了獲得基本電荷量,必須求出一組油滴電量的最大公約數,但是在實驗誤差情況下,求最大公約數是相當困難的,因此目前主要采用“到過來驗證”的方法處理數據,這種顛倒了因果關系的驗證性處理方法,不符合物理學史上常用的由因循果的實驗方法,因此不利于培養學生的探索精神。另外,近代物理實驗在許多大學都是在四年級進行的,這時候學生已經有了相當好的計算機基礎,已經至少掌握了一門編程語言,只要給他們講清楚物理思想和物理過程,他們多數都可以自己獨立編寫程序。另外歐幾里得算法的思路簡單,很容易編程實現。下面我們先介紹歐幾里得算法。
(1)介紹歐幾里得算法[3,4]
有一種求兩個數的最大公因數的方法稱為歐幾里得算法。任意兩個數a和b,必有一個最大公因數d,可以記為:
d=(a,b) (1)
若a>b,設a=q*b+r,0 r b-i(其中q為商是整數,r為余數),則有
(a,b)=d=(r,b) (2)
這樣,求a和b的最大公因數則可轉化為求兩個較小的數b和r的最大公因數。我們可以用同樣的辦法去求b和r的最大公因數,即用rb除b得
b=q*r+r
這里的r比b和嘟小。根據公式(2)得到
d=(a,b)=(b,r)=(r,r)
再對r和r作同樣的討論。依次下去,結果就得到一串數對,對每一對數有相同的最大公園數
d=(a,b)=(b,r)=(r,r1)=(r,r2)=%……=(r,r)
直到最后一對數時,rk-1可被rk整除,則rk就是a與b的最大公因數。
d=(a,b)=rK (4)
下面我們再討論一下求多個數的最大公因數的方法
求q1,q2,……q1篇多個數的最大公因數的通常方法是先求q和q的最大公因數p,接著再p和q3的最大公因數,以此類推,即可一步步求出最終結果,但是用這個方法計算時所需的運算量太大,我們可以仿照歐幾里得算法對上述方法略做改進。
(2)數據處理過程[3,4]
1.對被測數據按從小到大的順序排列
2.用其中最小的數去除其他數據。得到一組余數
3.舍去余數中小于某一閾值a(例如可以設a=0.5)的數,得到一組新數
4.重復以上(2)(3)兩步,直到某一組數均小于a1,找出前一組數中的最小值r,則r即為電子電量。
5.用r去除被測數據所得的商就是各油滴所帶的電子數
6.去掉被測數據中的最小值,然后重復以上步驟,又得到一個最小值r
7.依次類推,可得到一組值,求其平均數r,即為所求的電子電量。
回到第二步,不過這時候最小的數是原來數組中的近鄰最小的數。
上述操作過程見下表:
上面表格的說明:編號一行表示6個不同的電荷,第二行是每個油滴的電荷,最小值一列是本行的最小值,余數一這一行是用上一行的最小值3,185去除上一行的每一個電荷所得的余數,由于還有余數大于0.5,所以還要繼續尋找本行的最小值(1.6203),并且用它去除所有大于0.5余數,就得到余數二這一行。由于所有的余數都小于0.5,所以不用再進行除法運算,即找到了最小值1.6203。但是上述算法存在嚴重的不足:因為余數一這一行的值都受到這個最小值(3.1854)的影響,如果它誤差很大則以后的所有數據都會誤差很大。所以,為了克服這個困難我們在用第一最小值計算完以后,還要用第二個最小值去除所有比它大的數;然后用第三個,直到第n/2個。這樣就可以避免某一個數值的誤差造成系統誤差。
本文介紹了結合歐幾里得算法和計算機編程處理密里根油滴試驗數據,從而發尋找基本電荷e的電量的方法。本方法是根據實驗測量數據用由因循果的辦法來進行數據處理的,符合人們認識事物的客觀規律,有利于培養學生的探索和研究能力。