資源描述:
《matlab軟件在測量平差解算中的應(yīng)用》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、ISSN1671-2900采礦技術(shù)第9卷第2期2009年3月CN43-1347/TDMiningTechnology,Vol.9,No.2Mar.2009MATLAB軟件在測量平差解算中的應(yīng)用胡遠(yuǎn)新,趙奮軍(浙江省第七地質(zhì)大隊(duì),浙江麗水市323000)摘要:闡述了4種經(jīng)典的測量平差的解算過程,并結(jié)合平差實(shí)例,說明了MATLAB在測量平差中的優(yōu)越性。關(guān)鍵詞:測量平差;函數(shù)模型;MATLAB應(yīng)用測量的平差值,進(jìn)而進(jìn)一步求其相應(yīng)的平差值函數(shù)1條件平差和間接平差的原理的中誤差。各種平差方法的詳細(xì)求解過程可以參考條件平差、間接平差、附有參數(shù)的條件平差、附相
2、應(yīng)的文獻(xiàn)得到,這里不再贅述。有參數(shù)的間接平差是4種最基本的經(jīng)典測量平差方2MATLAB在測量平差解算中的優(yōu)勢法。它們都統(tǒng)一到附有參數(shù)的條件平差的概括平差函數(shù)模型中,但是在一般的編程中用的最多的是條MATLAB是一種集數(shù)值計算,符號運(yùn)算,可視化件平差、間接平差函數(shù)模型以及其數(shù)學(xué)模型。建模,仿真和圖形處理等多種功能于一體的高性能1.1條件平差的基本原理數(shù)值計算軟件,具有優(yōu)秀的數(shù)值計算能力和卓越的測量中為了能及時發(fā)現(xiàn)錯誤和提高測量成果的數(shù)據(jù)可視化能力。它的應(yīng)用范圍很廣,尤其在數(shù)值精度,常常進(jìn)行多余觀測,通過在多余觀測基礎(chǔ)上建運(yùn)算(包括矩陣求解,方程式求
3、解,多項(xiàng)式運(yùn)算,數(shù)立列平差函數(shù)模型和隨機(jī)模型來得到條件平差。條學(xué)極值計算等)和繪圖處理方面顯示出非常重要的件方程為:學(xué)術(shù)價值和工程價值。平差過程及解算涉及較多的AV-W=0是矩陣和線性方程組的解算,而MATLAB在測量平在上式中,關(guān)鍵是對改正數(shù)V的求解,它實(shí)際差矩陣和線性方程組的解算方面體現(xiàn)獨(dú)特的優(yōu)勢。上是一個線性方程組的求解問題,根據(jù)最小二乘法2.1MATLAB的矩陣運(yùn)算功能-1T-1可得到觀測值改正數(shù):V=PAK,其中K=NaaW,MATLAB是以矩陣作為數(shù)據(jù)操作的基本單位,N=AP-1AT,那么由L^=L+V就可以得到各個觀矩陣的生成、運(yùn)算
4、、轉(zhuǎn)置、求逆等非常簡單。MAT2aa測量的平差值。但是測量平差還要通過建立觀測量LAB有多種生成矩陣的方式,包括矩陣直接輸入,從外部建立相應(yīng)格式的數(shù)據(jù)文件調(diào)入,利用M文件組成的函數(shù),求其平差值函數(shù)的中誤差,通過中誤差中的函數(shù)生成,利用“[]”生成等。在MATLAB環(huán)來評估觀測數(shù)據(jù)是否合格,這樣才算完成了整個條件平差過程。境中,不需要對創(chuàng)建變量對象的維數(shù)和類型給出說1.2間接平差的基本原理明,所有的變量都作為雙精度數(shù)來分配內(nèi)存空間,當(dāng)在一個平差問題中,選用獨(dú)立的參數(shù)來代替MATLAB將自動地為每一個變量分配內(nèi)存。MAT2觀測量,當(dāng)參數(shù)的個數(shù)和必要的
5、觀測量個數(shù)相等的LAB中對于矩陣運(yùn)算,其程序的編寫和實(shí)際的計算時候,組成觀測方程并建立相應(yīng)的函數(shù)和隨機(jī)模型,工程很類似,矩陣相加,程序編寫形式為A+B;矩陣從而得到間接平差。間接平差誤差方程為:相乘為A3B;求解矩陣的轉(zhuǎn)置形式為A′;求解矩陣的逆陣形式為inv(A),這些計算都非常簡單,這些V=Bx^-l功能在其他語言中則需要一段復(fù)雜的程序語言才能實(shí)際上,這也是解決線性方程組的問題,同樣運(yùn)實(shí)現(xiàn)。而MATLAB則可以用一個函數(shù)或一個命令-1用最小二乘法原理得到獨(dú)立參數(shù)的解為:x^=NBBW,高效率、高精度地解決這些問題。T其中Vbb=BPB,這樣就
6、可以得到參數(shù)和觀測值的2.2MATLAB對線性方程組的解算平差值:X^=X0+x^,L^=L+V,從而計算得到各個觀測量平差中不管是哪種平差方法都是首先依據(jù)胡遠(yuǎn)新,等:MATLAB軟件在測量平差解算中的應(yīng)用99觀測量或選用獨(dú)立的參數(shù)列方程式,然后根據(jù)最小L=[1.3592.0090.3631.0120.6570.238-0.595];二乘法原理平差,由最小二乘法原理平差一般會得A=[1-100100;001-1100;0010011;010到法方程-1000];,法方程的求解即求解線性方程組。如線B=[100;010;100;010;-110;-
7、101;00-1];性方程組AX=b,A為系數(shù)矩陣,b為常數(shù)項(xiàng)矩陣,Xl=[0043720]′;W=[-7-8-63]′;為未知量,當(dāng)方程存在唯一解時,直接使用矩陣求逆F=[-110];f=[0000100];X=inv(A)3b,或采用左除運(yùn)算X=Ab,其實(shí)這兩p=1./S;P=diag(p);Naa=A3inv(P)3A′;種方法都是高斯消去法求解,只是采用左除運(yùn)算不disp(′(1)用條件平差的方法求解:′)是求逆,而是直接進(jìn)行高斯消去法計算。當(dāng)然也可disp(′條件平差的函數(shù)模型為:AV+W=0′)以采用LU分解、QR分解、Choles
8、ky分解,以及Schurdisp(′法方程為:Naa3K+W=0′)分解、Hessenberg分解、奇異分解等來求解線性方程disp(′