作為一個技術人員,我幾乎每天都要和數字打交道。開始時用計算尺或算盤作為計算工具。計算工作量大時也用手搖機械式計算機。七十年代初期廠裏購進了第一台小型電子計算機,那時這台機價值數萬元,僅可以作各種函數計算,使用要經過領導批準。我抱著很大興趣用它計算觀測資料。但它的功能也就隻相當於現在的普通計算器。
1976年在華東水利學院編寫觀測培訓教材時,華水有一台TQ16型計算機,其主要設備占用了一個很大的房間。我進去參觀過,在機房人員的指點下,我大膽試用別人做好的紙帶,作了一次幾分鍾的簡單的上機操作。這台機器的功能和效率使我感到驚奇。從此我開始自學計算機算法語言,試作編程。
那時在豐滿找不到一個可以指點編程的人,於是利用出差長春之機,到吉林大學找素不相識的數學教師請教。編成了一個僅寫了半頁紙的計算兩個數列相關係數的小程序。然後到東北勘測設計院計算機房(也是TQ16型計算機)編寫譯碼,在紙帶上將譯碼穿孔製成程序紙帶。又申請了上機時間,作通程序、修改程序、短係列數據試驗性計算等工序。終於在機上通過了程序並正確計算出了成果,初步過了可以上計算機工作這一關。
七十年代搞水文中長期預報,主要方法之一是根據曆史資料尋找水文記錄(年、月、旬徑流量,一次洪水總量,洪峰流量,洪水曆時等,稱預報量)和前期(一個月前、三個月前、半年前、一年前等)水文氣象數據(徑流量、洪量、降水量、氣溫等,稱預報因子)的關係。這是一種經驗性方法。在浩如煙海的大量數據中找預報量和預報因子的關係,無異於瞎子摸象,主觀性(判斷兩者有無關係的尺度因人而異)、片麵性(掛一漏萬)在所難免。較合理的方法是計算出兩個數據係列的相關係數,來定量地衡量兩者關係的密切程度。我想用計算機的海量計算能力來解決這個問題。於是把自己設計的相關係數計算程序,加上前處理功能,使之可以一次處理長係列的許多個預報量和許多個預報因子兩兩之間的相關係數,並可按給定指令截取輸入數據中若幹個不同時段長度的數據投入計算。又在程序中加上後處理功能,使計算前的數據和計算後的結果輸出打印為清楚的成果。由於電廠當時沒有大的可使用程序作計算的計算機,所以這些工作都是在長春東北勘測設計院或吉林市江北的化工設計院的計算機(也為TQ16型)上完成的。上機結果為豐滿中長期水文預報提供了成千組相關係數,節省了大量用於計算的人力。
在計算豐滿地震台水管傾斜儀所測傾斜資料時,要同時考慮多個因子(如當時水庫水位,前期若幹不同時段的水庫水位,水管傾斜儀一端溫度,水管傾斜儀另一端溫度,當時氣溫,前期若幹不同時段的氣溫等幾十個因子)對因變量(傾斜度)的作用,僅計算兩個變量之間的簡單相關係數就不夠了。我學習了數理統計中的多元回歸分析方法。此方法可以建立因變量數據係列和多個自變量數據係列之間的統計關係,但需聯立解多個(按因子數)方程,計算工作量很大。我曾用人工方法作計算,僅建立一個因變量與二十多個因子長係列數據的一個多元回歸方程,就用了近半個月時間。這個方程所揭示的關係及變化規律很大地深化了我們對地傾斜的認識。於是我把這個方法設計成計算機程序,然後到吉林化工設計院上機調試程序和作計算。上機短短幾分鍾內就得出了多元回歸方程的成果。用這個程序我又組織不同因子集合、不同時段數據的機上計算,進一步在多個成果中選出了更好的方程(數學模型)。在之前的第14節曾提到,此數學模型揭示,水管傾斜數值隨著水位溫度等因子的年周期變化而呈現有規律的年周期變化。但海城地震前幾天,它脫離常態出現了趨勢性突變,反映出海城地震前地下深處結構變化對遠在豐滿的地殼變形具有可以觀測到的影響。分析結論說明,大地震前期在震中數百公裏外都可引起地形變的異常。這是地震界過去未曾發現的。
在豐滿壩頂抬高研究中,要建立壩頂垂直位移多年時段內、多個測點上的測值係列與水庫水位、氣溫、冰凍等幾十個影響因子相應係列的統計模型。由於在同一因變量下,從多個因子中選用不同的因子組合得出的回歸方程不同,故需在初選因子群後,還應分別計算出各種可能因子組合下的多個模型後進行分析比較,從中選出最好的方程才能作為最後成果。多個因子的可能組合數量龐大,要建立的多元回歸模型就很多,即使用計算機作計算,工作量也不小。我進一步學習了數理統計中更深入的方法-逐步回歸分析。它在建立多元回歸模型時,通過逐步引入和剔除因子並每步作檢驗,能自動選出最佳因子組合的多元回歸模型。我設計了逐步回歸分析的計算機程序,通過多次上機試算、修改、調試,證實程序正確可用。於是用它計算和建立了豐滿大壩壩頂垂直位移各個測點數列與有關因子間的最優統計方程,這些模型較好地反應出壩頂垂直位移與凍脹、溫度變化等因素的定量關係,闡明了壩頂抬高的原因和趨勢。給出了豐滿大壩一個長期懷疑的隱患的確切答案。
七十年代計算機技術尚不普及,華水、東北院、化工院等擁有的TQ16型計算機是當時比較高級的計算機(其實它的運算速度、內存容量和外存容量等僅相當於八十年代後期一台桌上型Apple2或IBM PC機)。豐滿電廠當時沒有這類計算機,所以我每次上機都要乘車到長春的東北院或吉林的化工院,按事先預約好的時間上機。晚上或星期天經常需在所住的招待所或家中檢查上機用的紙帶,一個一個孔地檢看是否有錯。發現錯誤則用手工打孔器補孔或用膠水粘貼小紙塊蓋上不對的孔,孔周有毛刺也要加以清除以免被計算機誤讀。機上通程序和檢查數據時每次僅敢預約5分鍾或10分鍾機時(因機時較貴,一小時要40到60元),到時就必須下機(後麵時間有別人預約)。在機下檢查打印結果後再預約下次上機時間。在下次上機前又要仔細準備好程序和數據的穿孔紙帶。由上可見當時搞計算機計算是很辛苦費時的,但得到的成果也是人工計算無法企及的,所以我仍不辭辛苦樂此不疲。這為豐滿電廠解決了一些技術難題,也為自己以後在大學的學術工作打下了應用計算機的基礎。
圖1,老式手搖計算機
圖2,70年代的TQ16計算機算法語言講義
圖3,早期的大型計算機
圖4,早期計算機輸入信息的穿孔紙帶
圖5,1970年代計算機輸出結果的打印紙帶
圖6,70年代大型計算機機房圖景
2025-12-18完稿