李 飛,紀(jì)淑鴛
(1.楊凌職業(yè)技術(shù)學(xué)院,陜西楊凌712100;2.西北農(nóng)林科技大學(xué),陜西楊凌712100)
Excel在測量平差中的應(yīng)用
——以條件平差為例
李 飛1,紀(jì)淑鴛2
(1.楊凌職業(yè)技術(shù)學(xué)院,陜西楊凌712100;2.西北農(nóng)林科技大學(xué),陜西楊凌712100)
測量平差公式推導(dǎo)多,計(jì)算過程比較復(fù)雜,大量的計(jì)算都以矩陣的形式進(jìn)行。根據(jù)多年生產(chǎn)實(shí)踐和工程經(jīng)驗(yàn),結(jié)合Excel相關(guān)功能及條件平差理論,對Excel 2003的功能進(jìn)行充分挖掘,使其成為處理測量平差問題的可靠平臺,并舉例闡述了Excel在條件平差過程中的計(jì)算和應(yīng)用方法,結(jié)果證明,該方法計(jì)算簡單,方便實(shí)用。
Excel;測量平差;條件平差;矩陣運(yùn)算
“測量平差”因其理論性較強(qiáng),公式繁雜,大量數(shù)據(jù)使計(jì)算變得繁瑣復(fù)雜,尤其是涉及矩陣計(jì)算的更多[1-3]。出現(xiàn)錯(cuò)誤并不容易發(fā)現(xiàn),對計(jì)算結(jié)果的檢查又加劇了數(shù)據(jù)處理負(fù)擔(dān)。為此,筆者經(jīng)過在實(shí)踐中的不斷探索,引入了Excel,并利用Excel所具有的相關(guān)功能,使條件平差這樣復(fù)雜的問題簡單化。本文的研究成果對減少測量平差計(jì)算強(qiáng)度及難度具有積極的意義。
1.1 Excel的矩陣定義
矩陣不是一個(gè)數(shù),而是一個(gè)數(shù)組。在Excel里,數(shù)組占用一片單元域,單元域用大括號表示,例如{A1:C3},以便和普通單元域A1:C3相區(qū)別。設(shè)置時(shí)先選定單元域,同時(shí)按Shift+Ctrl+Enter鍵,大括弧即自動(dòng)產(chǎn)生,數(shù)組域得以確認(rèn)。一個(gè)單元格就是一個(gè)變量,一片單元域也可以視為一組變量。為了計(jì)算上的方便,一組變量最好給一個(gè)數(shù)組名。例如A={A1∶C3}、B={E1∶G3}等。矩陣命名的步驟是:選定數(shù)組域(矩陣所占的單元格),點(diǎn)“插入”菜單下的“名稱”,然后選擇“定義”,輸入A或B等,單擊“確定”即可。則矩陣命名為A或B。
1.2 測量平差用到的Excel常用矩陣函數(shù)
測量平差用到的 Excel常用矩陣函數(shù)有:TRANSPOSE(array)(計(jì)算一數(shù)組所代表的矩陣的轉(zhuǎn)置)、MMULT(arrayl,array2)(計(jì)算兩個(gè)數(shù)組矩陣的乘積)和MINVERSE(array)(計(jì)算一數(shù)組所代表的矩陣的逆矩陣)。
函數(shù)運(yùn)用有3種方法:
(1)通過在編輯欄輸入“=”號,輸入函數(shù)名稱;
(2)通過點(diǎn)擊“插入”菜單下的“函數(shù)”,選擇“函數(shù)類別”的“數(shù)學(xué)與三角函數(shù)”;
(3)點(diǎn)擊工具欄圖標(biāo)fx,然后選擇“插入函數(shù)”中相應(yīng)的函數(shù)。
1.3 利用Excel進(jìn)行矩陣轉(zhuǎn)置
應(yīng)用矩陣函數(shù)“TRANSPOSE(array)”進(jìn)行矩陣轉(zhuǎn)置。方法如下:
(1)輸入待轉(zhuǎn)置的矩陣A;
(2)在空白區(qū)選擇一存放轉(zhuǎn)置矩陣的區(qū)域,與待求轉(zhuǎn)置矩陣行數(shù)和列數(shù)相同;
(3)保持該區(qū)域?yàn)檫x中狀態(tài),在公式輸入欄輸入公式“=TRANSPOSE(A)”;
(4)按“Ctrl+Shift+Enter”,運(yùn)行得出矩陣 A的轉(zhuǎn)置矩陣。
1.4 利用Excel進(jìn)行矩陣相乘矩陣相乘是運(yùn)用函數(shù)MMULT(A,B),方法如下:(1)輸入矩陣A、B,要求A的列數(shù)與B的行數(shù)相等;
(2)在空白區(qū)選擇一存放相乘結(jié)果矩陣C的區(qū)域,與C矩陣行數(shù)和列數(shù)相同;
(3)保持該區(qū)域?yàn)檫x中狀態(tài),在編輯欄輸入“=MMULT(”,接著選中A矩陣,輸入“,”,選中B矩陣,最后輸入“)”
(4)按“Ctrl+Shift+Enter”,運(yùn)行得出 AB相乘的結(jié)果C矩陣。
1.5 利用Excel進(jìn)行矩陣求逆[10]
應(yīng)用矩陣函數(shù)“MINVERSE(array)”進(jìn)行矩陣求逆。方法如下:
(1)輸入待求逆的矩陣A;
(2)在空白區(qū)選擇一存放逆矩陣的區(qū)域,與待求逆矩陣行數(shù)和列數(shù)相同;
(3)保持該區(qū)域?yàn)檫x中狀態(tài),在公式輸入欄輸入公式“=Minverse(A)”;
(4)按“Ctrl+Shift+Enter”,運(yùn)行得出矩陣 A的逆矩陣。
條件平差是先確定該模型的必要觀測數(shù) t,計(jì)算多余觀測數(shù) r(r=n-t,其中 n為總觀測數(shù)),列r個(gè)獨(dú)立的條件方程式,建立函數(shù)模型,按最小二乘原理,用求自由極值的方法解算觀測值改正數(shù)的最或是值,從而求得n個(gè)觀測量的平差值。
2.1 平差計(jì)算公式
條件平差的數(shù)學(xué)模型為:
法方程為:
2.2 精度評定公式
觀測值平差值的協(xié)因數(shù)陣為:
平差值函數(shù)線性形式為:
平差值函數(shù)的中誤差為:
如圖1所示,A和B是已知高程的水準(zhǔn)點(diǎn),高程分別為HA=5.016 m,HB=6.016 m,并設(shè)這些已知點(diǎn)高程無誤差。
圖1 測量示意圖
圖1中P1,P2和 P3點(diǎn)待定,觀測高差和觀測相應(yīng)的水準(zhǔn)路線長度見表1。按條件平差法求:(1)各待定點(diǎn)的平差高程;(2)P1至 P2點(diǎn)間高差平差值的中誤差。
計(jì)算步驟如下:
(1)列條件方程和平差值函數(shù)式
本例有7個(gè)觀測值,有3個(gè)待定點(diǎn),所以必要數(shù)t=3,多余觀測數(shù) r=n-t=7-3=4,故可列4個(gè)條件方程式。
表1 觀測數(shù)據(jù)
①4個(gè)條件方程式為:
式中閉合差以mm為單位。
(2)定權(quán),并組成法方程。令C=1 km,即1 km觀測高差為單位權(quán)觀測,于是Pi=1/Si,Qii=P-1i=Si。因各觀測值高差不相關(guān),故協(xié)因數(shù)陣為對角陣,即
(3)組成法方程N(yùn)aaK-W=0,運(yùn)用Excel矩陣相乘MMULT函數(shù),先計(jì)算出 AQ,再計(jì)算出Naa=AQAT。則法方程為:
表2為在Excel中計(jì)算矩陣的乘積及轉(zhuǎn)置
表2 矩陣的乘積和轉(zhuǎn)置
(4)解算法方程,先運(yùn)用Excel矩陣求逆MINVERSE函數(shù)計(jì)算Na-a1,
表3為在Excel中計(jì)算矩陣的逆。
再運(yùn)用Excel矩陣相乘MMULT函數(shù)計(jì)算
(5)計(jì)算改正數(shù),先運(yùn)用 Excel矩陣相乘MMULT函數(shù),先計(jì)算出QAT,再計(jì)算出V=QATK,單位為mm。
V=[-0.2 2.9-4.2-0.1-3.9-0.6-1.2]T
(6)計(jì)算平差值^L=L+V,并代入平差值條件式檢核。
^L1= 1.3588,^L2= 2.0119,^L3= 0.3588,^L4=1.0119,^L5=0.6531,^L6=0.2374,^L7=-0.5962
表3 Excel中計(jì)算矩陣的逆
(7)計(jì)算P1,P2和P3點(diǎn)平差高程:
(8)精度評定:
P1至P2點(diǎn)間高差平差值的中誤差為:
應(yīng)用Excel進(jìn)行測量平差盡管沒有用到計(jì)算機(jī)語言,但在計(jì)算應(yīng)用和效率上卻不低于用計(jì)算機(jī)語言所編寫的程序。通過上述例子可以看出,應(yīng)用Excel進(jìn)行條件平差計(jì)算時(shí),可以非常清晰的展現(xiàn)條件平差計(jì)算的基本原理,平差原理中所涉及的公式都可以實(shí)現(xiàn),計(jì)算思路清晰,一目了然,不但可以使測繪工作者更容易掌握,從繁瑣的編程設(shè)計(jì)和數(shù)值計(jì)算中擺脫出來,有更多的時(shí)間和精力去觀測,進(jìn)行數(shù)據(jù)采集;而且可以鍛煉測繪工作者思考問題、發(fā)現(xiàn)問題、分析問題和解決問題的能力和創(chuàng)新思維,得到精度更好、效率更快的觀測數(shù)據(jù)提供基礎(chǔ)。測量平差計(jì)算是測量專業(yè)技術(shù)人員必須具備的業(yè)務(wù)能力,結(jié)合Excel的功能和特點(diǎn),本文實(shí)現(xiàn)了條件平差的快速準(zhǔn)確計(jì)算,提高了條件平差的計(jì)算效率,為測量工作者節(jié)省了大量的計(jì)算時(shí)間。
[1] 武漢測繪科技大學(xué)測量平差教研室.測量平差基礎(chǔ)(第3版)[M].北京:測繪出版社,2007.
[2] 靳祥升.測量平差(第2版)[M].鄭州:黃河水利出版社,2010.
[3] 周 園,王曉春.測量學(xué)基礎(chǔ)[M].北京:教育科學(xué)出版社,2003,10(1):63-65.
[4] 宋 毅,王 馳,張艷華.Excel實(shí)訓(xùn)教程[M].北京:清華大學(xué)出版社.2011.
[5] 魏貴環(huán).Excel在線性代數(shù)中的應(yīng)用[J].滄州師范??茖W(xué)校學(xué)報(bào),2002,18(3):63.
[6] 羅運(yùn)模,謝志敏.中文Excel-95簡明教程[M].北京:清華大學(xué)出版社.1997:356-398.
[7] JohnWalkenbach著.邱燕明,趙迎等譯.Excel 2003公式與函數(shù)應(yīng)用寶典[M].北京:電子工業(yè)出版社,2004.
[8] 吳芹蘭.應(yīng)用Excel處理測量數(shù)據(jù)[J].閩西職業(yè)大學(xué)學(xué)報(bào),2005,7(4):139-141.
[9] 雷曉霞,葛連云.Excel在高職測量平差中的應(yīng)用[J].國土資源高等職業(yè)教育研究,2007,(5):26-27,30.
[10] 付木亮,李海洋.應(yīng)用Excel矩陣函數(shù)求解逆矩陣[J].技術(shù)與市場,2010,17(7):19.
[11] 曾紹炳.基于EXCEL的條件平差解算[J].東華理工學(xué)院學(xué)報(bào),2007,30(1):51-54.
[12] 高士純,于正林.測量平差基礎(chǔ)習(xí)題集[M].北京:測繪出版社,2003.
Application of Excel in Surveying Adjustment——Taking Conditional Adjustment for Example
LIFei1,JIShu-yuan2
(1.Yangling Vocational and Technical College,Yangling,Shaanxi 712100,China;2.Northwest A&F University,Yangling,Shaanxi712100,China)
As the calculation of the formula for surveying adjustment ismore complex,a large number of its calculations have been conducted with matrix operation.Based on the production and engineering experiences in many years,and combined with the related function of Excel and conditional adjustment theory,the function of Excel 2003 is developed sufficiently so as tomake itbeing a denpendable platform for the treating of the surveying adjustment,then the calculation and application of Excel in the process of conditional adjustmentare elaborated with examples.The results prove that the method is simple,convenient and practical.
excel;survey adjustment;condition adjustment;matrix operation
P207+.2
A
1672—1144(2014)01—0197—04
10.3969/j.issn.1672-1144.2014.01.041
2013-07-15
2013-10-19
李 飛(1982—),男,陜西戶縣人,碩士,講師,主要從事工程測量技術(shù)專業(yè)的教學(xué)與研究工作。