邊角三角網平差程序的設計書_第1頁
邊角三角網平差程序的設計書_第2頁
邊角三角網平差程序的設計書_第3頁
邊角三角網平差程序的設計書_第4頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、邊角三角網平差程序設計書一、課程設計的目的學生在學習完誤差理論與測量平差基礎、測量平差程序設計基礎等課程的基礎上,設計一個完整的測量數據處理程序,培養(yǎng)學生綜合應用量數據處理與計算機應用能力,培養(yǎng)學生主動學習,創(chuàng)新設計能力。二、課程設計的任務和內容1. 課程設計任務:在兩周的時間內應用者Matlab 程序設計語言編制一個完整的邊角網嚴密平差程序 , 要求有簡易的界面,數據輸入采用文本輸入,采用間接平差模型完成平差的基本計算, 能夠畫出控制網圖, 輸出基本的計算結果, 并根據設計過程完成設計報告。程序設計主要內容包括:系統(tǒng)功能設計界面設計流程設計代碼書寫程序調試三、課程設計階段準備階段研究設計任務

2、書,分析設計題目,熟悉原始數據,明確設計內容和要求;制定課程設計計劃和進度。熟悉算法模型閱讀誤差理論與測量平差基礎教材,掌握平面控制網數據處理的數學模型,這里主要是指方向觀測量、 角度觀測量、邊長觀測量的觀測方程和誤差方程的構成,研究平面觀測數據的組織方法,設計Matlab 算法,實現計算的自動表達。功能設計階段設計程序要實現的功能平差程序的基本功能包括數據的輸入,平差計算,精度評定、成果輸出等;4. 流程和界面設計階段根據平差計算的過程和程序功能,畫出流程圖,設計簡易界面實現數據的輸入和平差計算和成果輸出。在此基礎上,根據功能要求,設計簡便的界面。5代碼書寫和調試階段按照計算流程圖和界面設計

3、,根據方向觀測值,邊長觀測值的誤差方程的組成,設計 Matlab 算法,實現誤差方程的自動構成,分階段書寫代碼,調試實現各個階段的功能。6. 設計報告撰寫階段設計報告是對整個設計過程進行綜合總結提高,內容包括課設的目的意義、程序設計的內容、 算法設計、設計心得等根據設計過程和對測量數據處理以及程序設計的理解進行獨立撰寫。四、組織方式進度安排以小組為單位,每小組 5-6 人,分工合作共同完成程序設計任務,時間兩周,進度安排如下:第一周周一熟悉設計書內容,制定計劃 熟悉平差模型周二功能設計 流程設計 繪制流程圖 觀測值數據組織周三熟悉觀測方程 誤差方程的構成,列出計算公式,設計Matlab 算法周

4、四界面設計 按照分工進行分模塊代碼設計 完成數據讀入模塊周五分模塊進行調試完成 誤差方程構成模塊第二周周一代碼書寫調試完成平差計算模塊周二代碼書寫調試完成輸出模塊周三代碼書寫調試完成整體調試周四撰寫設計報告周五綜合考核五、考核與成績評定考核內容根據考勤、課程設計報告、程序結構、程序代碼進行綜合評定。成績評定方法平時成績 20%,設計報告 30%;程序代碼 50%(程序 20%,運行正確 30%),總評成績分為優(yōu)、良、中、差四個等級。設計報告內容完整,圖表清晰,代碼書寫規(guī)范,計算結果正確評為優(yōu)秀。六、參考文獻:武漢大學測繪學院誤差理論與測量平差基礎2009北京建筑工程學院測量平差計算自編資料 2

5、011同濟大學 Matlab控制網測量平差2006七、實習報告:目的與任務:目的:基于學過的測量平差理論的基礎知識,在matlab 中編寫一個相對完整的數據平差處理程序,旨在讓同學們能夠將學到的平差理論知識和計算機的MATLAB軟件程序編寫有機地結合在起來,讓同學在實踐過程中更加深刻地理解理論知識并嘗試去應用,由此提高每個人學生的思考和動手能力。任務:主要任務就是在實習的兩周時間內,分組完成一套完整的關于邊角三角網的平差數據處理的的程序代碼編寫與試調任務,其中主要包括:數據組織與輸入、平差計算、 精度評定,成果可視化、平差成果輸出等。然后小組上交一份實習總結和小組成員各上交一份個人總結(設計書

6、及總結)。算法與模型:算法:間接平差方法;模型:平面控制網中的邊角三角網本次的平差數據處理是采用間接平差的方法(數學模型)而進行的,就三個待定點 xy 坐標改正數及涉及到的五個觀測站的方位角改正數為未知數( 11 個),進行誤差方程的編寫和平差計算,精度評定等。而實際應用是采用所提供的平面控制網中的邊角三角網的平差數據模型,分別是就著邊長觀測量和方向角觀測量的觀測數據進行平差程序的編寫。程序功能設計:通過手動地選擇數據文件,而后自動地對數據文件中涉及的變量進行賦值和所獲得的數據的輸出,而后通過實際情況分析得出需要進行平差計算和精度評定等的必要步驟, 如本次數據平差的必要步驟就是待定點近似坐標的

7、計算, 緊接著就是誤差方程的編寫, 包括系數矩陣和觀測權陣的求得, 而后就是利用最小二乘法的平差計算和精度評定, 并且計算誤差橢圓的參數和該橢圓的自動繪制,最后平差成果的輸出。分模塊講解:數據組織輸入和變量賦值已知點坐標信息:包括已知點數n0,待定點數nd,點號名pn 和已知點坐標xy0觀測值精度信息:方向觀測值精度 md,邊長觀測值精度 ma ,mb 邊長觀測值信息:包括起點 bf1, 終點 bf2 , 邊長觀測值 L2方向觀測值:包括測站點 df1 , 照準點 df2, 方向觀測值 L1 具體代碼截圖:待定點近似坐標的計算通過所提供的已知點坐標計算得出的已知方位角, 在就方向觀測值, 求出

8、其每一次觀測的夾角,而后找出每個測站所擁有的已知點 (一個觀測方向的兩個點) 確定其所在觀測的行數與其他待定點所在觀測方向 (必須有一個點是已知點) 的關系, 求出其他待定點所在觀測方向的方位角(注意方位角是否合理問題) ,而后在邊長觀測值中找到對應的邊長,利用極坐標法最終求得待定點的近似坐標。 x0y0. 同時還可以將近似坐標以文本的文件輸出, 計算代碼截圖如下:誤差方程式組成本次平面控制網平差模型中觀測量為方向觀測量和邊長觀測量,未知數分為待定點坐標和定點角兩類未知數,邊角網誤差方程的形式如下:方向觀測量:誤差方程:(系數為: b1,c1 )式中常數項:變長觀測量:誤差方程:(系數為: b

9、2,c2 )其中誤差方程的編寫要注意兩個問題:系數的位置確定和是否待定點的判斷。對于方向觀測值,未知數不僅包括各待定點坐標(6 個),同樣包括各測站的定向角,在未知數排序中,定向角未知數在前,待定點坐標在后,則未知數個數為nz+2*nd=11 ,對于方向觀測值,每一列與定向角對應的系數均為-1 ,與坐標對應的系數多),其他系數均為0,及對應的系數矩陣的數值的確定(注意正負號)即每一列有。5 個系數(最而對于邊長觀測值,每一列包括邊的兩個點的對應的改正數(如果兩個點都是待定點的話)四個參數,其他均為0,同樣還要注意系數的位置問題。由于這里分別對方向觀測量和邊長觀測量設置兩個數組,分別存儲系數陣常

10、數項變量,這里設置 b1 b2 c1 c2 四個數組。 根據觀測值序列和未知數序列確定系數矩陣中各元素的位置和大小;這里將誤差方程構成設計成一個function函數文件,輸入量為已知點信息,近似坐標,邊長觀測量,方向觀測量,等輸出量為誤差方程系數,常數項。代碼編寫截圖:5. 平差計算和精度評定本次平差的特殊就是結合兩個誤差方程的數據進行同時平差,具體步驟在得到誤差方程的系數之后,根據方向觀測值和邊長觀測值的初步計算觀測值權陣( p1 p2),嚴格的精確計算可以采用方差分量估計方法精確計算方向和邊長觀測值的權。在得到誤差方程之后, 可以直接利用矩陣進行方程組的解算( 最小二乘法 ) ,誤差方程分

11、為方向觀測誤差方程,邊長觀測誤差方程,兩者可分別計算,然后再相加。由于近似坐標不精確,在求取參數時,程序設置了迭代計算并確定終止條件,在改正數滿足條件后,即可進行平差值計算和精度統(tǒng)計。程序截圖:6. 誤差橢圓參數計算參考書上的誤差橢圓參數計算模型由于誤差橢圓描述了點位精度及其在各個方向的分布,表示了網中點或點之間的誤差分布情況,常用誤差橢圓對布網方案做精度分析,誤差橢圓三個參數為橢圓的長半軸E,短半軸F和主軸方向本次參數計算是通過單位權中誤差, 協(xié)因素陣, 待定點的協(xié)方差陣等上一步平差得出的結果或推算結果,來進行誤差橢圓確定。代碼截圖:7. 控制網圖形繪制和誤差橢圓繪制邊角三角網控制網圖形繪制

12、主要考慮繪制控制網點位分布圖,觀測量的繪制等?;舅悸肥鞘紫雀鶕鴺死L制控制網散點圖,點位標注, 邊長觀測量和方向并進行標注, 然后根據距離觀測值,方向觀測值連線,構成完整的控制網圖。至于誤差橢圓的繪制則是在控制網圖的基礎上再加上待定點對應的誤差橢圓的繪制就完成了。(利用 Plot 命令)其中有一個特別注意的地方就是參數的設置,要根據實際情況而定。繪制代碼截圖:8. 平面控制網成果輸出以生成 txt 格式文檔的形式進行成果輸出。其內容主要包括五個方面內容:平差計算后的坐標值,待定點點位中誤差,誤差橢圓參數計算等。信息具體內容如下:1. 平差計算成果成果總輸出;2. 坐標平差成果輸出3. 點位誤

13、差橢圓參數4. 誤差橢圓的繪制5. 方向觀測平差成果:方向觀測值,平差值,改正數;6. 邊長觀測平差成果:邊長觀測值,邊長平差值,改正數;代碼截圖(其中的幾個) :平差主界面的設計此界面為本組實習成果的最大創(chuàng)新之一,就是我們在原本要求的平差程序界面網平差程序)的基礎上增加了另一個界面,就是小組信息的界面(包括有小組成員照)兩個界面之間利用一個總的界面(小組平差程序設計)進行選擇性打開(邊角三角,而代碼截圖:主界面小組平差程序設計總的設計流程圖:代碼書寫與調試:由于上面已經展示過幾乎所有的代碼(根據每一個模塊),真正運行整一個程序的時候卻是按照步驟一步步地一個模塊地運行,但是問題一定會出現的,而

14、且還不是很少,關鍵就是怎么樣通過一步步地發(fā)現問題所在,并根據實際情況去試調程序,合理地按照平差理論去運行程序。一下列舉了一些出現的主要問題。方位角由于所提供的數據時邊角三角網的數據,這樣就會涉及到方位角問題,而且還不止一次的出現方位角的運算(如待定點的近似坐標的求解過程中出現過),這就應該驚醒一個重要的細節(jié):就是所求的方位角是否合理?怎么樣去判斷呢?就是通過if ( elseif)語句去判斷其與 0 和 360 度或者 2*pi 的關系,在去改正方位角。原則上一旦出現方位角的求解出都是要用這個語句去判斷,這樣才能保證精密。和提高正確性。單位問題單位問題出現在兩處,就是觀測值的單位權的求解處,二

15、是誤差方程的系數求解處。由于這兩者是在后面的法方程求解時都要用上所以,在此之前要保證兩者的單位相對統(tǒng)一,這個統(tǒng)一要分兩處, 邊長觀測量方程系數和方向觀測方程系數, 特別注意的是原始數據提供的觀測精度(兩種)的單位,和誤差方程的系數的單位,而在實際中,我們組應用的是方向觀測用秒為單位,而變成觀測以米為單位,這樣出來的結果最后的平差數據處理,如精度評定,誤差橢圓計算等,也要注意單位問題。比例參數根據實際求出的誤差橢圓參數(E F fi )的大小和所繪制的三角網的大小,這兩者之間通過比例參數的調整才能更好地在顯示誤差橢圓?;《绒D角度對于弧度轉角度這個小問題,我不得不提, 這是一個關鍵問題。為什么?因

16、為我們組把其他問題都解決了后,組的坐標改正數,誤差橢圓參數等都很不正常的顯示在電腦屏幕上,一次次地打擊我們的信心。最后,我在仔細地對照書本,細心查詢,觀察異同發(fā)現,一個最不關緊要的差異,就是弧度轉角度的小問題,我們原來采用的是MATLAB系統(tǒng)自帶的弧度轉角度的函數, 結果我們發(fā)現這個問題直接就是導致待定點的近似坐標差異特別大,尤其在待定點 3 的 x,y 坐標上面,差了好幾米(跟提供的平差結果數據相比),這樣后面的就影響到誤差方程系數的不正常, 和平差計算得出的改正數, 單位全中誤差, 點位誤差和誤差橢圓參數的異常。 而這樣我不得不自己再編兩個弧度和角度相互轉換的函數文件。 于是重新采用轉換函

17、數程序之后,我們的數據就非常正常的出來的。平差程序設計成果展示進入界面導入數據文件數據文件的查詢查詢結果:近似坐標的計算計算結果:控制網點為分布顯示平差計算成果平差計算成果總輸出點位誤差橢圓參數實習總結:兩周的實習歷經百般波折磨難,終于結束了, 這兩周的時間里, 大家經歷的是前所未有的實習體驗, 讓我們不單單收貨了專業(yè)能力,更是給我們的人生上了重大的一課,在課堂上我們都是學習的書本上的理論知識,這次我們把理論知識和計算機編程結合在一起,這才是真正學習到了未來生活工作中所實用的東西,提高了我們真正面對測量平差工作還有matlab 軟件時的操作能力。我們在實習中發(fā)現自己的問題并及時的解決,讓自己在

18、以后的學習工作中不犯同樣錯誤。 在剛拿到實習任務的第一天我們就進行了分組,分完組后, 為了能夠更快更有效率的完成此次實習,也為了能讓組內的每個成員參與進來,首先,我們在組內對各自的任務進行了分配。 大家各自負責一部分的程序代碼編寫內容,各自針對自己所主要面對的內容查書并向其他各組詢問討論,然后根據書上的代碼提示, 調通自己負責的這段程序代碼, 每個人把自己的部分完成后,大家在一起編程查錯,經過反復修改弄出整個的成果輸出,還有簡單的界面設計。我們的組長是王子強, 他和王瑞負責的是主要的數據計算部分還有整體修正還有精度評定部分, 這幾點可以說是這次程序代碼中的核心所以需要他們兩個人分擔重任,寧子銘

19、負責的是誤差橢圓參數的計算和圖形的繪制內容,繆云龍負責的則是數據文件的輸入部分的程序編寫,閃永川負責的是最后的成果輸出部分,王夢琦則是負責最后的界面部分程序代碼的設計,這些分工只是各自主要負責的項目,但是因為大家能力都有限, 所以出現問題后還是集合在一起解決問題再繼續(xù)進行之后的實習。一開始, 先是將已知點信息錄入,這塊代碼是由我們組的繆云龍主要負責的,這部分的代碼看似簡單,但還是給我們帶來了不小的麻煩,需要在matlab中單獨建立一個以chkdat 命名的 function 文件。這些看似簡單的問題卻也給我們帶來過不少的煩惱。接下來就是由我們組長王子強和王瑞同學負責的近似坐標計算和相關精度評定

20、的代碼編寫, 這部分非常的復雜,它包含了方位角計算,編寫誤差方式的程序代碼等或大或小的問題。遇到的首要問題就是我們看不懂書上的近似坐標計算的代碼,而書上的代碼又存在問題,缺少 nk 的定義,而想要修正這一點需要讀懂整段代碼并將nk 通過書寫給予定義。還有就是誤差方程的系數矩陣的編寫程序。這里有好幾個因素要考慮:方向觀測邊的方位角計算,未知數的系數位置安放問題,還有就是點號是否是待定點的判斷等等諸多問題。在不斷地學習中向其他組成員請教后我們總算輸入了正確的代碼修正了這部分工作。算完上面這些計算之后,就是由寧子銘負責的誤差橢圓參數的計算和圖形的繪制了,這部分的代碼編與之前的計算相比就顯得簡單了一點,但由于我們只能參考教材,而教材的程序又多少有些不適用,程序還是出現了問題,在大家共同的努力下,在同學的幫助下我們還是完成了程序, 但是,由于我們數據的單位不統(tǒng)一,導致我們的橢圓參

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論