萬應玲(甘肅建筑職業技術學院,甘肅 蘭州 730050)
雙向消元法在解法方程的應用
萬應玲(甘肅建筑職業技術學院,甘肅 蘭州 730050)
測量平差中的條件平差法和間接平差法需要解算法方程。法方程是一些多元一次方程構成的方程組,教學過程中學生手算求解過程一般采用高斯約化法,由于缺乏對結果的校核而容易出現計算錯誤。本文作者結合自己的教學經驗,通過具體實例介紹了雙向消元的解析過程,優化了其計算方法并經過步步校核消元確保了結果的正確性。
高斯約化法;雙向消元法;檢核計算
在測量平差中, 各種觀測量與已知條件以及各種圖形幾何條件之間可組成條件方程組或觀測量的誤差方程組。進行平差解算時,首先對方程組線性化, 形成滿足最小二乘(或滿足最小范數)條件的線性化平差函數模型[1]。平差問題的求解最后都歸結為線性方程組的求解過程。因而, 解算線性方程組是解算平差問題的關鍵[2]。在傳統的解算過程中是將各種平差方程組形成法方程, 通過高斯約化來進行求解[3]。高斯約化法是按照方程的順序,從上向下逐個消元,最后使方程組變為一個三角形方程組[4]。高斯約化法對消元過程提出了具體規定和要求,編制了一定的格式,具有較強的規律性。但高斯約化法原理的推導符號多,過程繁[5]。有些數據的得出需多個數據參與計算,若有差錯,難以快速找到原因[6]。本文采用雙向消元法,最后將每個方程簡化為一元一次方程并經過步步校核消元確保了結果的準確性。
設某法方程中有r個多元一次方程,采用雙向消元法解算過程如下:1)將第一個方程的第一個未知數系數變為1,用其消去其它方程的第一個未知數;2)在第一步所得的方程組中,將第二個方程的第二個未知數系數變為1(第一個未知數已消去),用其向上、向下消去各方程的第二個未知數。3)這樣依次處理,到第r步時,第r個方程就變為一元一次方程,各方程未知數的序號與該方程序號相同,且系數為1,這樣各未知數的解隨之可得。為了進一步明確雙向消元法的具體解算過程,可以通過下列表中的數據實例進行計算。
表1列出了某一條件平差計算過程的法方程系數。為了敘述簡便,將表1、表2中的某幾個方程編上帶圓圈的序號。將表1中方程(1)的各系數(包括∑,∑表示該行左邊各數之和)除以K1的系數2.7552,得表2中的方程(1)。在表2方程(1)中,S是由表1中方程(1)的∑除以2.7552而來,其∑仍為左邊各數之和,當∑和S相等時,說明方程(1)從表1到表2的推算沒有錯誤。

表1 法方程系數表

表2 法方程系數推算表
將方程①乘以方程②K1系數的相反數0.0178并與方程②相加,則消去了方程②的未知數K1得方程③,該過程是逐項進行的,即:

將∑的結果填到方程③的5欄中,它是推算的方程③中各項系數應有的和。然后再對方程③各項系數實際相加,其和也是7.5124。這說明由方程①、②推算方程③是正確的。
從方程①、②、③來看,其中∑是本方程內左邊各系數之和,稱為實際和。方程①、③是由相關方程推算來的,其中S是由這些相關方程中的∑推算的,稱為推算和。若個別相關方程中的∑和S不一致時,仍要用∑推算S,這樣可以減少誤差的積累。當∑和S相等或末位數相差不超過3時,說明推算過程正確,若∑和S相差較多,說明推算過程有誤,這時應先檢查S是否正確,當S無誤時,再對各系數的計算進行檢查。
用同樣方法消去表1中方程(3)、(4)的未知數K1,得表2中的方程(3)、(4)。表2中的方程(1)是用來消去其它方程未知數K1的,是消元的基礎,把它稱為“基方程”。為了計算中減少差錯,將基方程的系數下畫一橫線以與其它方程相區別,而S下不需要畫線。因S是消元中計算的結果,沒有參與任何計算,其作用就是與∑相互校核,檢查消元過程中有無錯誤。消去K1后,將表2中方程(2)的K1系數變為1,用其向上、向下消去該表中其它方程中的K2,得到表3的結果。

表3 法方程系數推算表

表4 法方程系數推算表

表5 法方程系數推算表
用同樣的方法消去K3、K4,其結果如表4和表5所示。為使計算表格簡潔,可將消去未知數的欄進行合并。如表4的K1~K2欄,表5的K1~K3欄。該欄內的數字1,表示的只是和相應方程同序號的未知數系數為1,其余未知數系數為0;而該欄內的0,表示合寫的未知數都已消去,系數都為0。
由表5可直接得出未知數K的值。

若采用高斯約化法利用消元回帶過程求解方程,如果中途有一個未知數求解有誤,則后面所有未知數的解都是錯的,且很難快速找到錯誤的原因。高斯約化法充分利用了方程的對稱性, 對于解非線性對稱方程組問題很難實現[7],而在雙向消元法中只有向下消元時才利用對稱性。若有時計算的值并不完全對稱,這時以計算值為準,保留其“不對稱性”,以保證該方程的∑和S不會相差太多。
高斯約化法和雙向消元法的基本思想都通過將一個方程乘以或除以某個常數,以及將兩個方程相加減這兩種手續,逐步減少方程中的變元的數目,最終使每個方程僅含一個變元,從而得出所求的解。高斯約化法的求解過程分為消元過程和回代過程兩個環節。這種方法缺點是一旦計算過程出現錯誤從而導致整個計算錯誤,且很難發現錯誤的原因。而采用雙向消元法可同時求出法方程中各個未知數的解,不需要回代,并且這些一元一次方程都是經過一步步校核消元而得出的,因此這些未知數的解都是正確可靠的。
[1]陶本藻.非線性與線性平差偏差的分布特征[J].測繪工程,1998(4):7-12.
[2]張東明,呂翠華,李明.點松弛法在測量平差方程組解算中的應用[J].科學技術與工程,2010,10(24):5981-5984.
[3]張東明,李明,肖建虹.利用迭代方法求解測量平差中的線性方程組[J].地礦測繪,2003,19(4):15-17.
[4]趙艷宇 .Gauss消去法[J].電大理工,2013(2):51-52.
[5]劉成軍.基于消息傳遞接口的線性方程組并行計算研究—以改進的高斯消元法為例[J].軟件,2013,34(1):119-120.
[6]顏平.測量平差[M].北京:中國建筑工業出版社,2002:42~ 45.
[7]袁功林,李向榮.解非線性對稱方程組問題的具有下降方向的近似高斯-牛頓基礎的BFGS方法[J].運籌學學報,2004,8(4):10-26.
Two-way elimination method applied in solution normal equation
Conditional adjustment method and adjustment of observation equations needs solution normal equation.The normal equation is an equation of some multivariate equations.In the process of teaching,the calculation process of the students is generally adopted by Gaussian elimination,Due to the lack of verification of the results and prone to error.In this paper, the author combined with his own teaching experience,Through concrete examples this paper introduces the analytical process of two-way elimination method.Its calculation method was optimized,And after the check elimination step by step to ensure the validity of the results.
Gaussian elimination;two-way elimination method;check calculation
TB302文獻辨識碼:B
1003-8965(2017)01-0050-02