陳凱
在倫敦科學博物館有一臺巴貝奇的差分機的復制品,說它是復制品,其實并不是很確切,因為在19世紀20年代,巴貝奇本人也只是做出了差分機的一部分,證明了這個機械的可行性?,F在的工程師利用巴貝奇留下的圖紙,按照當時的工藝,耗費了大量的資金和時間,才完成了整個差分機的制作。
巴貝奇的差分機到底有什么用?通俗來講,就是把多項式中的乘法變成加法,然后通過齒輪的傳動計算出結果。舉一個簡單的例子,對于Y=X^2,當X值為1時,Y的值就是1,當X值為2、3、4、5…時,Y的值就是4、9、16、25…。雖然說,做4的平方,可以撥動4次齒輪,每次撥4格;做5的平方,可以撥動5次齒輪,每次撥5格,但這樣實在是太不自動化了,碰到更高層次的多項式,工作量就以指數級別增加。巴貝奇想要的是一臺自動的機械,輸入X值,這些齒輪能自動給出多項式的結果。其中的原理,可以用一個畫圖實驗展現出來。
做一個三列n行的表,如三列五行,在第一行的第二列畫一個點,在第三列的每一行都畫兩個點(如圖1)。
接下來,從第二行開始畫點,規(guī)則是,當前格子里的點的數量是當前格子上方及右上方點的數量的總和。例如,第二行第一列上方沒有點,而右上方有一個點,則當前格子畫一個點。又如,在第二行第二列上方有一個點,而右上方有兩個點,則當前格子畫三個點,按這個規(guī)則從第二行往下依次填完表格(如圖2)。
大家可以發(fā)現,最左面一列的點的數量從上往下依次是1、4、9、16,對應的是1、2、3、4的平方,這樣就可以借助加法運算完成乘方的運算。巴貝奇用齒輪傳動來實現以上運算的自動化過程,但這實在太復雜了?,F如今,人們通過編程或電子表格等工具都可以模擬差分機的運算過程。本文借助Word的宏來完成自動運算,能顯得更有趣些。為了簡化運算,其實只需要一行三列的表格。將鼠標定位在第一列,然后按如下過程錄制宏:Tab—復制—Home—左箭頭—粘貼—Tab—Tab—復制—Home—左箭頭—粘貼—Home—左箭頭。
初始狀態(tài)如圖3所示,最左面一格的點的數量正好是3的平方。
執(zhí)行三次宏后,結果如圖4所示。
如果大家想知道更高次方的運算是如何實現的,可訪問http://ed-thelen.org/bab/bab-diff-JavaScript.html網頁,在差分機的模擬器上進行更深入的研究。有興趣的朋友,可以試著在Word中做一張表來實現Y=X^3或更高次方的運算。