利用傳遞數矩陣的水準網條件平差程式設計

2022-12-10 10:27:03 字數 4793 閱讀 4987

the problem of condition-equation』 variety, and finally provided proportion of program codes and

application case.

key words: leveling-network; condition-adjustment; transferred-data-matrix; column-pivoting

elimination

sun cai-min, xu jun , liu hui (north-china

institute of science and technology, beijing

101601, china )

1 引言

水準網嚴密平差是高程控制測量最基本平差內容之一,經典平差方法通常分條件平差和間接平

差。由於平差計算涉及條件(或誤差)方程的列立,法方程的組成、解算,改正數、最或是值、中

誤差計算等,計算過程繁鎖,計算內容複雜,工作量大,稍有差錯,會對結果帶來一些人為的錯誤。

基於此原因,人們紛紛編制了基於各種語言的平差程式,利用程式實現水準網平差的,使得整個計

算簡單、快捷、準確。

間接平差是通過選定足以確定某個平差問題的未知引數來消除觀測值之間的不符值,並用求自

由極值的方法解出未知引數的最或是值[1]。由於其設定引數簡單,誤差方程序列立唯一,利用其編制

程式的難度相對較小。所以,目前大部分水準網嚴密平差程式是間接平差程式。但未知引數選定個

數及選定目標則有嚴格的要求,稍有不注意,則產生錯誤的結果。條件平差作為水準網平差的另一

種常用方法,以所有觀測值的平差值為未知數,通過它們之間存在的多餘觀測個數來列立條件方程,

運用求條件極值的原理來解出改正數[1],達到平差的目的。由於其有列立方程式簡單、直觀,計算規

律性強等特點,深受許多人的青睞。但水準網形的多樣性,導致採用條件平差時列立的條件方程也

呈現多樣性,條件方程的不唯一,使得編制水準網條件平差程式難度相對較大。人們不得不改變意

願,放棄條件平差的使用,採用現有的間接平差程式進行平差。基於此,本文提出了採用傳遞數矩

陣來實現建立條件平差方程,很好地解決了條件方程多樣性的問題,為實現水準網條件平差程式的

編制提供了保證,豐富了水準網平差程式的演算法,滿足了人們多樣化的需求。

2 程式設計總體設想

1) 編制程式的語言:視覺化的 vb 軟體[2]。

2)設計思路:首先建立用於計算待定高程點近似高程的傳遞數矩陣,然後利用傳遞數矩陣來建

立條件平差方程,運用高斯列主元求解線性方程組的演算法來計算聯絡數向量,最後利用相乘計算觀

測值的改正數及利用陣列的加、減計算出觀測點的高程。

3)軟體結構:軟體總共由三個部分組成,即已知資料的讀入,資料的處理,計算結果的輸出和

儲存。4)軟體最終實現功能:水準網已知高程值的讀入、顯示;水準網條件平差計算及觀測改正數結

果的顯示,改正後高差及最或是高程的計算及結果顯示;各種計算結果的文字格式儲存。

3 條件平差程式演算法設計

3.1 運用傳遞矩陣建立條件方程演算法

1)傳遞數的提出

設某一水準網中水準路線數為 n,水準路線從 1 開始直至 n 依次編號。水準點(包括已知水準

點和待定水準點)個數為 m,水準點從待定點開始編號,對待定點編號完再繼續對已知點編號。則

該水準網的傳遞數矩陣 t 為:

t()1

tmt11

t21tm1t12

t22tm2 t1i

tiitmit1n

t2n(1)

其中,tij 為第 i 號水準點相對於第 j 條水準路線的傳遞數。t(i)為第 i 號水準點的傳遞數向量,且

t(i)=(ti1,ti2,…,tin)。

2)傳遞數的運算規則[3]

在計算待定點近似高程的同時,依據所參與計算的水準路線起點和終點是否已知以及未知水準

點的近似高程是否已經計算這兩種情況計算傳遞數矩陣,其運算規則如下:

① 運算規則一:如果水準線路 j 的起點 i 為已知水準點,終點 k 為未知水準點,且該點的近似

高程未知,則:tkj=1, t(k)=(tk1,tk2,…, tkj,…, tkn)向量中除 tkj 外的其餘分量值為 0;② 運算規則二:如

果水準路線 j 的起點 i 為未知點,且該點的近似高程未知,終點 k 為已知點,則:tij=-1, t(i)=(ti1,ti2,…,

tij,…,tin)向量中除 tij 的其餘分量值為 0;③ 運算規則三:如果水準路線 j 的起點 i 為未知點,但近似

高程已知。終點 k 為未知點,但近似高程未知,則 t(k)的組成由兩部分構成,一部分為該水準路線對

終點的影響,為:tkj=1, t(k)=(tk1,tk2,…,tkj,…, tkn)向量中除 tkj=1 的其餘分量值為 0,另一部分由起點

的傳遞數向量傳遞給終點而得,則終點的傳遞數向量為:

t(k)= t(k)+ t(i)

(2)④ 運算規則四:如果水準路線 j 的起點 i 為近似高程未知的待定點,終點 k 為近似高程已求出

的待定水準點,則 t 的組成由兩部分構成,一部分為該水準路線對起點的影響,為:tij=-1, t(i)=(ti1,ti2,…,

tij,…,tin)向量中除 tij=-1 外的其餘分量值為 0,另一部分由終點的傳遞數向量傳遞給起點而得,則起

點的傳遞數向量為:

t(i)= t(i)+ t(k)

(3)運用上述四條運算規則,能夠計算出每乙個水準點的傳遞數向量,同時也就計算出了水準網的

傳遞數矩陣。由了傳遞數矩陣 t,就能夠方便地組成條件方程的係數陣 a。

3)利用傳遞數建立條件方程係數陣

水準網的條件平差是先利用 t 條水準路線計算 t 個待定水準點的近似高程,則用於計算近似高程

的水準路線條數為 r=水準路線總數 n-t,r 正好等於多餘觀測數。所以可以利用這 r 條水準路線建立

條件方程[4]。

設條件方程的係數陣 a 為:

(1)( r )

a11r n ( s )

21a12

a22ar 2

a1 s

a2 s

assarsa1n

a2narn

(4)其中: a(s)為第 s 個條件方程的係數所構成的行向量。

利用傳遞數矩陣 t 建立條件方程係數陣 a 的一般規則為:

如果第 j 條水準線路未用於計算待定點的近似高程,其起點點號為 i,終點點號為 k,則:

a(s)= t (i) t (k )

(5)a(s)的第 j 個分量的值為 1。其中引數 s 為條件方程編號,值為 1,2,…,r。

常數項w 的計算公式為:

w ( s)= h 1+h h 2

(6)式中:h1 為水準線路的起點(已知或近似)高程;h2 為水準線路的終點(已知或近似)

高程;δh 為水準線路高差。

其水準網條件方程的演算法流程圖如圖 1 所示。

圖 1 建立水準網條件方程的演算法流程圖

3.2 高斯列主元消去法計算聯絡數向量

從第一列中選出絕對值最大的元素,並把這個元素所在的行與第一行交換,順序消元法消元,

求解法方程聯絡數向量。回代求解未知數,並將結果輸出。其程式流程圖如圖 2 所示。

圖 2 列主元消去法流程圖

4 軟體測試

4.1 算例

在水準網(圖 3)中,a 和 b 是已知高程的水準點,並設這些點已知高程無誤差。圖中 c、d 和

e 點是待定點。a 和 b 點高程、觀測高差和相應的水準路線長度見表 1。試按條件平差求個待定點的

平差高程。

表 1 觀測值與起始資料

圖 3 水準網分布圖

4.2 算例結果

如圖 4 所示。

圖 4 平差計算結果

5 結束語

本文通過提出傳遞數矩陣這一概念來確定建立水準網條件方程的演算法,較好地解決了水準網條

件平差理論中條件方程多樣性的問題,使得編制程式、利用計算機完成條件平差的過程成為可能。

在法方程組的解算過程中,運用高斯列主消去法計算出聯絡數向量,然後運用矩陣的轉置、矩陣的

乘法逐步的計算出高差觀測值的改正數、未知點的高程以及單位權中誤差[5]。整個平差過程無需人為

干預,平差結果在介面中顯示並可以文字檔案的形式儲存。軟體使用簡單、方便、直觀,可以滿足

擅長條件平差法計算人們的需求。

程式也存在一些需要改進和完善之處,比如軟體沒有實現和電子水準儀進行資料的轉換,因此

不能直接把電子水準儀所測得的資料進行平差。

參考文獻

[1] 武漢大學測繪學院測量平差科學組.誤差理論與測量平差基礎習題集[m].武漢:武漢大學出版社,2006.

[2] 東方人華,王晟,凌宇欣.visual basic 6.0 中文版範例入門與提高[m].北京:清華大學出版社,2004.

[3] 夏紅霞,宋華珠,鐘珞.演算法設計與分析[m].武漢:武漢大學出版社,2007.

[4] 何娟霞,陸立.一種建立水準網條件平差方程的演算法介紹[j].建築工程學院學報,2005,21(2):41-43.

[5] 周世虎,邊紅文.水準網平差系統介紹[j].北京:北京測繪,2007,(4):59-61.

[6] 施一民.現代大地控制測量[m].北京:測繪出版社,2003.

[7] 孔祥元,郭際明,劉宗泉.大地測量學基礎[m].武漢:武漢大學出版社,2007.

作者簡介:孫彩敏(1967-),女,河南禹縣人,副教授,碩士,1989 年畢業於華東地質學院,先後

於中南地勘局 308 隊、首鋼礦業公司、華北科技學院從事測量技術、管理和教學工作,主要研究方

向:數位化測圖。

e-mail:

收稿日期:2009-10-20

矩陣的定義及其運算規則矩陣的定義

矩陣的定義及其運算規則 1 矩陣的定義 一般而言,所謂矩陣就是由一組數的全體,在括號 內排列成m行n 列 橫的稱行,縱的稱列 的乙個數表,並稱它為m n陣。矩陣通常是用大寫字母a b 來表示。例如乙個m 行n 列的矩陣可以簡記為 或 即 2 3 我們稱 2 3 式中的為矩陣a的元素,a的第乙個註腳字...

正交矩陣的作用

引言正交矩陣是一類重要的實方陣,由於它的一些特殊的性質,使得它在不同的領域都有著廣泛的作用,也推動了其它學科的發展.本文從正交矩陣的最主要的性質入手,來討論它的四點作用.首先,我們來了解一下正交矩陣的定義.一.正交矩陣的定義及性質 一 正交矩陣的定義 定義1 n階實矩陣a,若滿足,則稱a為正交矩陣....

偏振的矩陣表示

有因此 歸一化瓊斯向量 光向量與x軸成 角的線偏振光 歸一化瓊斯向量 線偏振光的一般形式 如 0 x向線偏光 90 y向線偏光 45 45 向線偏光 匯出長短軸之比為2 1,長軸沿x的左旋和右旋橢圓偏振光的瓊斯矩陣向量,並計算兩個偏振態相加後的結果。取正橢圓的特殊情況 合成波為x方向振動的線偏振光,...