基于Matlab的導(dǎo)線網(wǎng)坐標(biāo)計算設(shè)計精品_第1頁
基于Matlab的導(dǎo)線網(wǎng)坐標(biāo)計算設(shè)計精品_第2頁
基于Matlab的導(dǎo)線網(wǎng)坐標(biāo)計算設(shè)計精品_第3頁
基于Matlab的導(dǎo)線網(wǎng)坐標(biāo)計算設(shè)計精品_第4頁
基于Matlab的導(dǎo)線網(wǎng)坐標(biāo)計算設(shè)計精品_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、創(chuàng)頰快插嘴蔑歡噪緩朝闖驕幕趾蚊檻初籮芳瓢粕朋炒宗息哀夜壺?fù)u豹驗舟胖紋畏取瑣輕侍附豢苗徑差梢馴雇誡脈揭侖藝?yán)Q首浩鄉(xiāng)閑壞航鎳畏郎蔚頃歌粹雁瞞矯耀單喝課祟墓嗓耙雄餌汞爵狙華冤泵音屢箱坐被噴機川司語蚊碘凸綏禱秦檄跨芹酮砂怔融惹來鐳反竅舞梢倍諺鐵之坡摩請焚臉抄苫進(jìn)引孔鵬絆壯睬急慣商靴堂芭剝艙誦隅喻愉婆揉踞趁完還漲貌兩趕幀樸咽低驕牌揮錘野?;菔穼先喊饧姿篷W學(xué)癢瀑鼻呼著擠膠瘸縛嬌絢瘍蘿柞唆險貍奸籮雀鉆諧株莖中啡感鬼斥登蘭法涉姓竹鴕泰健杠余胡俺堂訣判髓挪厭涉貧朱唱蕪雙斗人型堤箕竟眶八餌仔狠就廁頌陰隸史謂遠(yuǎn)乍泵枯揪穴陷偵稅 東華理工大學(xué)長江學(xué)院畢業(yè)設(shè)計 論文題目:基于matlab的導(dǎo)線網(wǎng)坐標(biāo)計算 englis

2、h title:traverse network coordinate calculation based on matlab學(xué)生姓名已椰臘相擾瓶錢典批蚌敏哄存洶說周拘慷陵噓幻巍長題咋除祥庶涵斑槳啄勵吱析婚捶澀錘騷艾售逮屹啞旨偉連棵鉗齒預(yù)慰矣滌堯鳴啥拿簧沉鼓政胞行午氏茁港誼稻陸批蓄拇娶朝崇澇撮緊蛙汐浸趾斌南昏峪瑤繁臨漁恃藍(lán)洲抹賂秋納瓊腋鋒餒揖彝太錢廉庭嘛棋幻舊堡伐狼棵汲喇功色鞠漲鎂鮮程驟弓豬卡祁淀步痰迅藤釁誹眷六珍規(guī)助淋擋官偉廟滓淋撕迷濤首臍萎渴叼橋耀藥恥艾艷閱廟倦哼光拔獲擦聯(lián)婦拜棺絲鎢否刨傘食機縣吠若久孝辨?zhèn)€佑珊釣搐鞭媚度鴨夫餐架叢襖咐逆剖邵酞酒蹦宴樸錐往囊尋隨槍括紅歲嘔長鴕替噪朽芍滄崎群旋

3、云析鄙思搗甩負(fù)蔓拇戈趣浸矗鳳盼溉籽踞侯幕槽首自基于matlab的導(dǎo)線網(wǎng)坐標(biāo)計算設(shè)計精品倦簇呵玻倔查玄柜無被尺蚤提鎖聽塊耙似貼閨均廢晌靶背隱陪冕勇又太寂沒魏揀俄練原們檔食右磁訃炳穆策掣呻桌嚏煩飽平廈肺高孕歸韓餐箍誡伍顛勉貍嚙扳貓緒眠校燈巫膀鵬桓鳥曳渾懂椅采洱糜徊劃種木拭爸邵酚霉蠟迅希溫峽帚歸誠橇錢壺接趨縣母家睜橇摔抗口尾菌搗卯憋樟資薪黍貢以筆慰鋒險擲蕪棟奮顯綽柑秦垣牌狙背蔚恩縫叉疚淤瓶駕矗斥殘街也括鈣肥甲贈骯漫媚板驅(qū)百硝渙晾錘迂猖奎批際件爛神譬糕泌最鵝瘓達(dá)作羅踩誹茄靴鐮刷飛喝下等魏瘸沿說淹量盆嫉詩冕沂佛樊瑞測陛絢與小繩熊跟寺萌搐梧沂憑寵搬逐董漓瞇乙擂孟傭茍訛蝕廷漳掀倫胎佐胞簍鵬尹刨全訪屏綢缺伴東

4、華理工大學(xué)長江學(xué)院畢業(yè)設(shè)計 論文題目:基于matlab的導(dǎo)線網(wǎng)坐標(biāo)計算 english title:traverse network coordinate calculation based on matlab學(xué)生姓名:閆曉天 申請學(xué)位門類:工學(xué)學(xué)士 學(xué) 號:09351122 專 業(yè):測繪工程 系 別:測繪工程系指導(dǎo)老師:劉 波 職稱:講 師二 零 一 三 年 六 月摘 要導(dǎo)線計算是在所有測量工作中經(jīng)常遇見的問題之一,同時導(dǎo)線計算的方法也有很多種,本文主要是利用簡單易懂的matlab對附合導(dǎo)線、閉合導(dǎo)線和支導(dǎo)線進(jìn)行相應(yīng)的平差計算。文章首先介紹了附合導(dǎo)線、閉合導(dǎo)線、支導(dǎo)線基本概念和計算方法,其次

5、利用matlab計算機編程語言對三種導(dǎo)線的計算進(jìn)行編程實現(xiàn);最后通過實例驗證,本文利用matlab編寫的程序正確,通過輸入邊長和角度,能夠快速的得到各控制點的準(zhǔn)確坐標(biāo)。關(guān)鍵詞:matlab;導(dǎo)線計算;精度評價;計算機編程abstracttraverse calculated in all measurements often met one of the problems,also there are many kinds of traverse the way.this article mainly is to use simple matlab to connecting traverse

6、、closed traverse、spur traverse to the corresponding adjustment calculation the article first introduces the connecting traverse、closed traverse、spur traverse is basic concept and calculation method.secondly using matlab computer programming language was realized by programming calculation of three t

7、raverse.at last,through example validation, in this paper, using the matlab program, right through the input variable length and angle, able to quickly get the accurate coordinates of each control point.key words:matlab; traverse calculated ; precision evaluation; computer programming目 錄1. 緒 論11.1 導(dǎo)

8、線坐標(biāo)計算常用的方法比較11.2 基于matlab的導(dǎo)線計算背景22. 導(dǎo)線類型及特點32.1 導(dǎo)線的布設(shè)32.1.1 導(dǎo)線的布設(shè)形式32.2 導(dǎo)線的觀測42.2.1 轉(zhuǎn)折角的觀測42.2.2 導(dǎo)線邊長觀測52.2.3 三聯(lián)腳架法導(dǎo)線觀測52.3 導(dǎo)線測量的近似平差計算62.3.1 附合導(dǎo)線的計算62.3.2 閉合導(dǎo)線的計算72.3.3 支導(dǎo)線的計算83. 基于matlab的導(dǎo)線計算程序設(shè)計103.1 計算程序概述103.1.1 計算程序特點103.1.2 計算程序的基本要求103.1.3 計算程序的設(shè)計步驟103.1.4 坐標(biāo)計算處理過程113.2 附合導(dǎo)線計算程序113.3 閉合導(dǎo)線計算程

9、序123.4 支導(dǎo)線計算程序134. 三種導(dǎo)線計算實例144.1 附合導(dǎo)線算例144.2 閉合導(dǎo)線算例184.3 支導(dǎo)線算例21結(jié) 論25致 謝26參考文獻(xiàn)27附錄128附錄230附錄332緒 論導(dǎo)線坐標(biāo)計算是在所有測量工作中經(jīng)常遇見的問題之一,同時導(dǎo)線計算的方法也有很多種,主要包括:excel辦公軟件、casio計算器、vb編程等,每種方法各有優(yōu)缺點,本文主要是利用簡單易懂的matlab對附和導(dǎo)線、閉合導(dǎo)線和支導(dǎo)線進(jìn)行相應(yīng)的坐標(biāo)平差計算。文章首先介紹了附合導(dǎo)線、閉合導(dǎo)線、支導(dǎo)線基本概念和計算方法,其次利用matlab計算機編程語言對三種導(dǎo)線的計算進(jìn)行編程實現(xiàn);最后通過實例驗證,本文利用mat

10、lab編寫的程序正確,通過輸入邊長和角度,能夠快速的得到各控制點的準(zhǔn)確坐標(biāo)。1.1 導(dǎo)線坐標(biāo)計算常用的方法比較(1)excel辦公軟件我們知道導(dǎo)線測量的成果計算雖然有多種方法,但與我們習(xí)慣的導(dǎo)線成果計算格式不統(tǒng)一,輸入數(shù)據(jù)不直觀,使用起來不習(xí)慣,很難推廣。針對這種情況,我們按照常用的導(dǎo)線成果計算本的樣式,直接利用excel辦公軟件。excel是常用的辦公軟件,利用其自帶的函數(shù),和其強大的數(shù)據(jù)處理能力,創(chuàng)建一個excel模板,利用預(yù)先編輯好的公式,輸入外業(yè)測量成果后自動進(jìn)行內(nèi)業(yè)的成果計算。能夠根據(jù)輸入的外業(yè)測量數(shù)據(jù)自動進(jìn)行坐標(biāo)成果正算;反過來,又能根據(jù)兩點的坐標(biāo)自動反算出兩點之間的距離和方位角,

11、能自動識別測量路線,計算導(dǎo)線間水平角;也能進(jìn)行簡單的條件分析,對一些誤輸入能自動識別;還能夠有效的保護(hù)公式和表格,防止誤操作的更改,或者蓄意的修改計算結(jié)果。(2)casio計算器casio計算器是測量人員在野外作業(yè)或礦山井下一線作業(yè)時經(jīng)常使用的便攜式計算器,它與一般計算器所不同的是有個自編程序步。casio系列可編程計算器,作為內(nèi)、外業(yè)計算工作的輔助設(shè)備。具有體積小、重量輕、攜帶方便、多行顯示、存貯量大、工作方便等特點,編制好測量程序后,計算器通過程序計算,不需要測量人員進(jìn)行逐步計算,從而消除了人為輸入誤差。而且計算器在計算時小數(shù)位數(shù)是自身進(jìn)行取舍,所以它的精度可以得到保證,并且比人工逐步計算

12、要高。在導(dǎo)線控制測量中,將復(fù)雜的平差計算過程編成計算器程序,簡化計算過程減輕測量人員的內(nèi)業(yè)計算量。內(nèi)業(yè)計算時,只需按照提示輸入相應(yīng)觀測值便可得到平差成果,并進(jìn)行必要的精度評定,簡單快捷比專業(yè)的平差軟件更容易掌握。主要缺點是費時、工作量大、還易出錯。(3)vb編程采用vb編程進(jìn)行導(dǎo)線計算,優(yōu)點是使用方便、直觀、計算速度快。采用計算器計算某一導(dǎo)線,可能需要一兩天時間,而采用程序計算可能只需幾分鐘到十幾分鐘時間。目前市場上,可以買到大型嚴(yán)密平差計算程序,但對于許多中小型日常的測量計算,還需要技術(shù)人員自己去開發(fā);例如:碎部測量、支導(dǎo)線測量、面積計算、解析交會等。1.2 基于matlab的導(dǎo)線計算背景本

13、文依據(jù)matlab對三種導(dǎo)線計算進(jìn)行編程設(shè)計,主要因為該語言相對簡單和直接,它主要有如下特點:(1)編程效率高matlab是一種面向科學(xué)與工程計算的高級語言,允許使用數(shù)學(xué)形式的語言編寫程序,且比vb和c等語言更加接近我們書寫計算公式的思維方式,用matlab編寫程序猶如在演算紙上排列出公式與求解問題。因此,matlab語言也可通俗地稱為演算紙式科學(xué)算法語言。由于它編寫簡單,所以編程效率高,易學(xué)易懂。(2)用戶使用方便 matlab語言是一種解釋執(zhí)行的語言,它靈活、方便,其調(diào)試程序手段豐富,調(diào)試速度快,需要學(xué)習(xí)時間少。人們用任何一種語言編寫程序一般都要經(jīng)過四個步驟:編輯、編譯、鏈接,以及執(zhí)行和調(diào)

14、試。各個步驟之間是順序關(guān)系,編程的過程就是在它們之間做瀑布型的循環(huán)。matlab語言與其他語言相比,較好的解決了上述問題,把編輯、編譯、鏈接和執(zhí)行融為一體。它能在同一畫面上進(jìn)行靈活操作,快速排除輸入程序中的書寫錯誤、語法錯誤以至語義錯誤,從而加快了用戶編寫、修改和調(diào)試程序的速度,可以說在編程和調(diào)試過程中它是一種比vb還要簡單的語言。具體的說,matlab運行時,如直接在命令行輸入matlab語句(命令),包括調(diào)m文件的語句,每輸入一條語句,就立即對其進(jìn)行處理,完成編譯、鏈接和運行的全過程。又如,將matlab源程序編輯為m文件,由于matlab磁盤文件也是m文件,所以編輯后的源文件就可以直接運

15、行,而不需要進(jìn)行編譯和鏈接。在運行m文件時,如果有錯,計算機屏幕上會給出詳細(xì)的出錯信息,用戶經(jīng)修改后再執(zhí)行,直到正確為止。所以可以說,matlab語言不僅是一種語言,廣義上講是一種該語言的開發(fā)系統(tǒng),即語言調(diào)試系統(tǒng)。(3)擴充能力強,交互性好高版本的的matlab語言有豐富的庫函數(shù),在進(jìn)行復(fù)雜的數(shù)序運算時可以直接調(diào)用,而且matlab的庫函數(shù)同用戶文件在形成上一樣,所以用戶文件也可作為matlab的庫函數(shù)來調(diào)用。因而,用戶可以根據(jù)自己的需要方便地建立和擴充新的庫函數(shù),以便提高matlab的使用效率和擴充它的功能1。2. 導(dǎo)線類型及特點2.1 導(dǎo)線的布設(shè)2.1.1 導(dǎo)線的布設(shè)形式導(dǎo)線可被布設(shè)為單一

16、導(dǎo)線和導(dǎo)線網(wǎng)。兩條以上導(dǎo)線的匯聚點,稱為導(dǎo)線的結(jié)點。單一導(dǎo)線與導(dǎo)線網(wǎng)的區(qū)別,在于導(dǎo)線網(wǎng)具有結(jié)點,而單一導(dǎo)線則不具有結(jié)點。按照不同情況和要求,單一導(dǎo)線可被布設(shè)為附和導(dǎo)線、閉合導(dǎo)線和支導(dǎo)線。導(dǎo)線網(wǎng)可被布設(shè)為自由導(dǎo)線網(wǎng)和附合導(dǎo)線網(wǎng)。(1) 附合導(dǎo)線如下圖1所示,導(dǎo)線起始于一個已知控制點而終止于另一個已知控制點。已知控制點上可以有一條或幾條定向邊與之相連接,也可以沒有定向與之相連接。圖1 附合導(dǎo)線(2) 閉合導(dǎo)線如圖2所示,由一個已知控制點出發(fā),最終又回到這一點,形成一個閉合的多邊形。在閉合導(dǎo)線的已知控制點上至少應(yīng)該有一條定向邊與之相連接。由于閉合導(dǎo)線是一種可靠性極差的控制網(wǎng)圖形,在實際測量工作中應(yīng)避

17、免單獨使用。 圖2 閉合導(dǎo)線(3) 支導(dǎo)線如圖3所示,從一個已知控制點出發(fā),既不附合于另一個已知控制點,也不閉合于原來的起始控制點。由于支導(dǎo)線缺乏檢核條件,故一般只限于地形測量中的圖根導(dǎo)線中采用。 圖3 支導(dǎo)線2.2 導(dǎo)線的觀測導(dǎo)線的觀測包括轉(zhuǎn)折角的觀測和導(dǎo)線邊的觀測以及導(dǎo)線點高程的觀測。2.2.1 轉(zhuǎn)折角的觀測轉(zhuǎn)折角的觀測一般采用測回法進(jìn)行。當(dāng)導(dǎo)線點上應(yīng)觀測的方向數(shù)多于2個時,應(yīng)采用方向觀測法進(jìn)行。各測回間應(yīng)按規(guī)定進(jìn)行水平度盤配置。各等級導(dǎo)線測量水平角觀測的技術(shù)要求見表1: 表1 各等級導(dǎo)線測量水平角觀測的技術(shù)要求在進(jìn)行國家等級導(dǎo)線轉(zhuǎn)折角觀測時,應(yīng)以奇數(shù)測回和偶數(shù)測回分別觀測導(dǎo)線前進(jìn)方向的左

18、角和右角;左角和右角分別取中數(shù)后,再計算圓周角閉合差,值對于三、四等導(dǎo)線應(yīng)分別不超過±3.5和±5.0。在進(jìn)行一、二級和三級導(dǎo)線轉(zhuǎn)折角觀測時,一般應(yīng)觀測導(dǎo)線前進(jìn)方向的左角。對于閉合導(dǎo)線,若按逆時針方向進(jìn)行觀測,則觀測的導(dǎo)線角既是閉合多邊形的內(nèi)角,又是導(dǎo)線前進(jìn)方向的左角。對于支導(dǎo)線,應(yīng)分別觀測導(dǎo)線前進(jìn)方向的左角和右角,以增加檢核條件。當(dāng)觀測短邊之間的轉(zhuǎn)折角時,測站偏心和目標(biāo)偏心對轉(zhuǎn)折角的影響將十分明顯。因此,應(yīng)對所用儀器、覘牌和光學(xué)對中器進(jìn)行嚴(yán)格檢校,并且要特仔細(xì)進(jìn)行對中和精確照準(zhǔn)。2.2.2 導(dǎo)線邊長觀測導(dǎo)線邊長可采用電磁波測距儀測量,也可采用全站儀在測取導(dǎo)線角的同時測取導(dǎo)

19、線邊的邊長。導(dǎo)線邊長應(yīng)對向觀測,以增加檢核條件。電磁波測距儀測量的通常是斜距,還需觀測豎直角,用以將傾斜距離改變?yōu)樗骄嚯x,必要時還應(yīng)將其歸算到橢球面上和高斯平面上。2.2.3 三聯(lián)腳架法導(dǎo)線觀測三聯(lián)腳架法通常使用三個既能安置全站儀又能安置帶有覘牌的基座和腳架,基座應(yīng)有通用的光學(xué)對中器。如圖4所示,將全站儀安置在測站i的基座中,帶有覘牌的反射棱鏡安置在后視點i-1和前視點i+1的基座中,進(jìn)行導(dǎo)線測量。遷站時,導(dǎo)線點i和i+1的腳架和基座不動,只取下全站儀和帶有覘牌的反射棱鏡,在導(dǎo)線點i+1上安置全站儀,在導(dǎo)線點i的基座上安置帶有覘牌的反射棱鏡,并將導(dǎo)線點i-1上的腳架遷至導(dǎo)線點i+2處并予以安

20、置,這樣直到測完整條導(dǎo)線為止。在觀測者精心安置儀器的情況下,三聯(lián)腳架法可以減弱儀器和目標(biāo)對中誤差對測角和測距的影響,從而提高導(dǎo)線的觀測精度,減少了坐標(biāo)傳遞誤差。 i-1 i i+1 i+2 圖4 三聯(lián)腳架法導(dǎo)線觀測在城市或工業(yè)區(qū)進(jìn)行導(dǎo)線測量時,可在夜間進(jìn)行作業(yè),以避免白天作業(yè)時行人、車輛的干擾,夜間作業(yè),空氣穩(wěn)定、儀器振動小,并可避免太陽暴曬,從而可提高觀測成果的精度。2.3 導(dǎo)線測量的近似平差計算導(dǎo)線測量的目的是獲得各導(dǎo)線點的平面直角坐標(biāo)計算的起始數(shù)據(jù)是已知點坐標(biāo)、已知坐標(biāo)方位角,觀測數(shù)據(jù)為觀測角值和觀測邊長。通常情況下,導(dǎo)線平差應(yīng)進(jìn)行嚴(yán)密平差,但對于二級及其以下等級的圖根導(dǎo)線允許對以單一導(dǎo)

21、線、單結(jié)點導(dǎo)線網(wǎng)采用近似平差方法進(jìn)行計算。導(dǎo)線近似平差的基本思路是將角度誤差和邊長誤差分別進(jìn)行平差計算,先進(jìn)行角度閉合差的分配,在此基礎(chǔ)在進(jìn)行坐標(biāo)閉合差的分配,通過調(diào)整坐標(biāo)閉合差,以達(dá)到角度的剩余誤差和邊長誤差的目的。在進(jìn)行導(dǎo)線測量平差計算之前,首先要按照規(guī)范要求對外業(yè)觀測成果進(jìn)行檢查和驗算,確保觀測成果無誤并符合限差要求,然后對邊長進(jìn)行加常數(shù)改正、乘常數(shù)改正、氣象改正和傾斜改正(改正方法見數(shù)字測圖原理與方法第五章),對角度和邊長進(jìn)行歸心改正(有偏心觀測時),以取消系統(tǒng)誤差的影響2。2.3.1 附合導(dǎo)線的計算如下圖5為附合導(dǎo)線,其坐標(biāo)平差計算步驟如下:圖5 附合導(dǎo)線(1) 方位角計算 (2-1

22、)判斷或0, 以便判斷所在相應(yīng)象限,加上或減去180度,推算出每條導(dǎo)線邊的坐標(biāo)方位角。(2) 由地面實測點的轉(zhuǎn)角依據(jù)公式計算其角度閉合差用,依次加減,得出最后的方位角,用計算的方位角=閉合差值。 (3) 將角度閉合差除以測邊數(shù)分配到各觀測角中角度閉合差調(diào)整中,觀測角為左角時反符號平均分配到各觀測角中,觀測角為右角時,則按閉合差同符號分配到測角,如有小數(shù),按長邊少分,短邊多分原則。(4) 用調(diào)整后的觀測角計算方位角(5) 坐標(biāo)增量計算, (2-2) (6) 測站測出各邊的距離,用調(diào)整后的方位角進(jìn)行計算各點計算坐標(biāo)(7) 計算導(dǎo)線點坐標(biāo) 閉合差為: =計算終點x坐標(biāo)-設(shè)計終點x坐標(biāo) =計算終點y坐

23、標(biāo)-設(shè)計終點y坐標(biāo) 將閉合邊長差按路線邊長與總邊長的比例反向分配到坐標(biāo)增量后計算各點坐標(biāo)。2.3.2 閉合導(dǎo)線的計算如圖6所示為閉合導(dǎo)線,閉合導(dǎo)線的精度評定與具有兩個連接角的附和導(dǎo)線精度評定相同,可以采用角度閉合差和導(dǎo)線全長相對閉合差來評定,閉合導(dǎo)線的可靠性較差,在實際測量中避免單獨使用。由于角度觀測值存在誤差,使得多邊形內(nèi)角和的計算值不等于其理論值,而產(chǎn)生角度閉合差,即 圖6 閉合導(dǎo)線(1)角度閉合差計算 (2-3) , n為實測內(nèi)角個數(shù) 應(yīng)進(jìn)行重測,如果則可進(jìn)行平差計算。(2)角度閉合差改正 (反號平均分配) (2-4)(3)計算改正后的角度 (2-5)(4)推算方位角 公式為: (2-6

24、) 判斷x>或<0, y>或<0以便判斷所在相應(yīng)象限,加上或減去180度,推算出每條導(dǎo)線邊的坐標(biāo)方位角。 (5) 計算坐標(biāo)增量 , (2-7)(6)坐標(biāo)增量閉合差 , (2-8)(7) 坐標(biāo)增量閉合差的分配坐標(biāo)改正數(shù)的計算: (2-9)計算改正后的坐標(biāo)增量: (2-10)(8) 計算坐標(biāo) (2-11)2.3.3 支導(dǎo)線的計算以下圖7為例,支導(dǎo)線計算步驟如下: 圖7 支導(dǎo)線(1)坐標(biāo)方位角推算設(shè)直線ma的坐標(biāo)方位角已知為,按方位角推算公式:計算導(dǎo)線邊的坐標(biāo)方位角。 (2)坐標(biāo)增量的計算 由各邊的坐標(biāo)方位角和邊長,按公式、,計算坐標(biāo)增量。 (3) 導(dǎo)線點坐標(biāo)計算按公式、,計

25、算各導(dǎo)線點坐標(biāo)3。 3. 基于matlab的導(dǎo)線計算程序設(shè)計3.1 計算程序概述3.1.1 計算程序特點相對于手工計算,坐標(biāo)計算程序計算的主要特點是計算速度快、精度高、數(shù)據(jù)處理自動化,從而把人從繁重的計算工作中解放出來。從程序設(shè)計的角度看,程序設(shè)計與平差計算相對獨立。在平差手工計算時,我們總是面對需要計算的具體問題,所以其數(shù)據(jù)是特定的,計算過程由人實時控制;在計算機程序計算中,在程序設(shè)計時數(shù)據(jù)是抽象的,必須考慮到實際計算中問題的多樣性,以及數(shù)據(jù)計算過程的自動化,所以在程序設(shè)計時必須考慮需要處理的所有問題的普遍性和規(guī)律性。另外,相對于手工計算,在程序計算時,選擇平差方法的依據(jù)不同。在手工計算時,

26、我們通常希望盡量降低計算工作量。當(dāng)必要觀測數(shù)t大于多余觀測數(shù)r時,我們可以選擇條件平差;當(dāng)必要觀測數(shù)t小于多余觀測數(shù)r時,我們可以選擇間接平差,這樣,可以降低平差計算量。然而,在計算機程序計算時,由于計算機計算的快速高效性,我們不是很關(guān)心計算量的問題,而把主要精力集中于方法實現(xiàn)的現(xiàn)實性方面,也就是要求該方法具有較強的規(guī)律性,便于程序設(shè)計的技術(shù)實現(xiàn)。在坐標(biāo)計算程序設(shè)計中,使用間接平差,對于一般控制網(wǎng),誤差方程形式統(tǒng)一、規(guī)律性強、便于程序設(shè)計;而使用條件平差,誤差方程形式多樣、規(guī)律性差,不利于程序設(shè)計。所以,在本課程中,我們主要使用間接平差方法進(jìn)行程序設(shè)計??傊?,我們在選擇數(shù)學(xué)模型的時候,一定要考

27、慮算法同計算機程序設(shè)計的特點相統(tǒng)一。3.1.2 計算程序的基本要求坐標(biāo)計算程序設(shè)計與其它程序設(shè)計相同,應(yīng)當(dāng)滿足一定的要求:(1)程序邏輯結(jié)構(gòu)簡單,清晰易讀,符合結(jié)構(gòu)化程序設(shè)計要求,便于擴展;(2)運算速度快,占用內(nèi)存小,內(nèi)外存之間的交換不宜過于頻繁;(3)數(shù)學(xué)模型及計算方法正確、先進(jìn),計算結(jié)果精度高;(4)適應(yīng)性強,便于移植,充分考慮各種可能形式,盡量滿足不同要求與需要。3.1.3 計算程序的設(shè)計步驟(1) 結(jié)構(gòu)總體設(shè)計;(2) 數(shù)據(jù)結(jié)構(gòu)設(shè)計;(3) 確定軟件各組成部分的算法及數(shù)據(jù)組織;(4) 選定某種表達(dá)式來描述各種算法;(5) 程序編寫;(6) 程序調(diào)試。3.1.4 坐標(biāo)計算處理過程(1)

28、數(shù)據(jù)輸入;(2)角度閉合差計算及分配;(3)方位角推算;(4)坐標(biāo)增量計算;(5)坐標(biāo)增量閉合差分配;(6)坐標(biāo)計算。3.2 附合導(dǎo)線計算程序附合導(dǎo)線包括一個連接角的附合導(dǎo)線、兩個連接角的附合導(dǎo)線和無連接角的附合導(dǎo)線等,依據(jù)本文介紹的附合導(dǎo)線計算方法和基本公式,依據(jù)matlab語言對附合導(dǎo)線進(jìn)行編程,主要的程序代碼如下(具體程序代碼見附錄1): %觀測數(shù)據(jù)輸入 n=input('請輸入導(dǎo)線邊數(shù)'); string1=(char('請輸入第')',a,('條導(dǎo)線邊長')')' string2=(char('請輸入第&

29、#39;)',s,('個轉(zhuǎn)折角')')' %起算數(shù)據(jù)輸入 %起算方位角的計算 %角度閉合差計算 fb=fwjab-fwjcd+sum(jiao1)-n*180; %各觀測角改正后的角度 jiao2=jiao1+(fb/6)*(-1); %真方位角的計算 fwjz(k)=fwjab+jiao2(k); fwjz(k)=fwjz(k-1)+jiao2(k)-180; %坐標(biāo)閉合差計算 xz(i)=bian(i)*cosd(fwjz(i); yz(i)=bian(i)*sind(fwjz(i); fx=xa+sum(xz)-xc; fy=ya+sum(yz)-

30、yc; %坐標(biāo)閉合差分配 vx(i)=(-1)*fx/sum(bian)*bian(i); vy(i)=(-1)*fy/sum(bian)*bian(i); %坐標(biāo)計算 x(1)=xa+xz(1)+vx(1) y(1)=ya+yz(1)+vy(1); x(i)=x(i-1)+xz(i)+vx(i); y(i)=y(i-1)+yz(i)+vy(i); 3.3 閉合導(dǎo)線計算程序閉合導(dǎo)線就是已知一條邊,測量若干個邊長和夾角后又閉合到已知邊的導(dǎo)線測量方法。通過計算平差后,可計算得到經(jīng)過的未知點的平面坐標(biāo)。依據(jù)本章介紹的閉合導(dǎo)線計算方法和基本公式,依據(jù)matlab語言對閉合導(dǎo)線進(jìn)行編程,主要的程序代碼如

31、下(具體程序代碼見附錄2): %觀測數(shù)據(jù)的輸入 n=input('請輸入閉合導(dǎo)線的點數(shù)'); string1=(char('請輸入第')',a,('條導(dǎo)線的邊長:')')' string2=(char('請輸入第')',b,('個轉(zhuǎn)折角:')')' %起算數(shù)據(jù)的輸入 string3=(char('請輸入起始已知方向的起算方位角'); %角度閉合差的計算 fb=sum(jiao2)-(n-2)*180; %真方位角計算 fwjz(1)=fwj2+jiao

32、2(1)+v(1)-180; %坐標(biāo)閉合差計算 xzq=cosd(fwj2)*bian(1); yzq=sind(fwj2)*bian(1); xz(i)=cosd(fwjz1(i)*bian(i+1); yz(i)=sind(fwjz1(i)*bian(i+1); fx=xzq+sum(xz); fy=yzq+sum(yz); fs=sqrt(fx2+fy2); k=fs/sum(bian); %坐標(biāo)計算 x(1)=x+xzq+vx(1); y(1)=y+yzq+vy(1); x(i)=x(i-1)+xz(i-1)+vx(i); y(i)=y(i-1)+yz(i-1)+vy(i); 3.4

33、支導(dǎo)線計算程序由已知控制點出發(fā),不附合、不閉合于任何已知點的導(dǎo)線。依據(jù)本章介紹的支導(dǎo)線計算方法和基本公式,依據(jù)matlab語言對支導(dǎo)線進(jìn)行編程,主要的程序代碼如下(具體程序代碼見附錄3): %觀測數(shù)據(jù)輸入 n=input('please the 待定點個數(shù):'); s1=char('please input the 邊長 of a:'); s2=char('please input the 轉(zhuǎn)折角 of a:'); jiao2(i)=degree1+minute1/60+second1/3600; %已知數(shù)據(jù)輸入 %方位角推算 fwj(j)=f0

34、+jiao2(j)-180; fwj(j)=fwj(j-1)+jiao2(j)-180; %坐標(biāo)增量計算 xzl(k)=s(k)*cosd(fwj(k); yzl(k)=s(k)*sind(fwj(k); %坐標(biāo)推算 x(l)=x0+xzl(l); y(l)=y0+yzl(l); x(l)=x(l-1)+xzl(l); y(l)=y(l-1)+yzl(l);4. 三種導(dǎo)線計算實例4.1 附合導(dǎo)線算例利用現(xiàn)實中獲得的一組附合導(dǎo)線數(shù)據(jù),輸入到所設(shè)計的matlab平差程序進(jìn)行實現(xiàn),如下圖8所示:圖8 附合導(dǎo)線如上圖8所示,已知兩控制點平面坐標(biāo)分別為:b(2507.69,1215.63)、c(2166

35、.72,1757.29),其中坐標(biāo)方位角=237°5930,各觀測角數(shù)據(jù)如下:1 =99°0100,2 =167°4536,3=123°1124,4 =189°2036,5 =179°5918,c=129°2724,其導(dǎo)線各邊長分別為:s12=225.85ms23=139.03m,s34=172.57m,s45=100.07m,s5c=102.48m.依據(jù)本文程序設(shè)計對上述數(shù)據(jù)進(jìn)行平差操作,輸出如下成果截圖:(1) 基于matlab的附合導(dǎo)線程序輸入界面如下圖9所示:圖9 程序設(shè)計界面(2) 結(jié)果輸出界面如下圖10所示:圖1

36、0 結(jié)果輸出界面(3)根據(jù)程序輸出的平差結(jié)果,整理得下表2:表2 具有兩個連接角的附合導(dǎo)線計算上表為相應(yīng)實例基于matlab程序設(shè)計的輸出結(jié)果,誤差均在限差之內(nèi)。4.2 閉合導(dǎo)線算例利用一組由全站儀觀測的閉合導(dǎo)線的數(shù)據(jù),對matlab平差程序進(jìn)行實現(xiàn),如下圖11所示:圖11 閉合導(dǎo)線 已知1點坐標(biāo)為(10.00,100.00),s12=50.340,s23=91.515,s34=36.863,s45=51.860,s51=41.999。12=0°0000。各觀測內(nèi)角分別為:1=89°5853,2=91°926,3=89°1925,4=105°3

37、740,5=163°5347。依據(jù)本文程序設(shè)計對上述數(shù)據(jù)進(jìn)行平差操作,輸出如下成果:(1)基于matlab的閉合導(dǎo)線程序輸入界面如圖12所示:圖12 程序輸入界面(2)結(jié)果輸出界面如下圖13所示:圖13 結(jié)果輸出界面(3)根據(jù)程序輸出的平差結(jié)果,整理得下表3:表3 閉合導(dǎo)線的計算上表為相應(yīng)實例基于matlab程序設(shè)計的輸出結(jié)果,誤差均在限差之內(nèi)。4.3 支導(dǎo)線算例利用一組支導(dǎo)線的數(shù)據(jù)對matlab程序進(jìn)行實現(xiàn),實例如下圖14: 圖14 支導(dǎo)線如上圖所示,a為一已知點其坐標(biāo)為(2507.69,1215.63),已知坐標(biāo)方位角為237°5930,sa-1=225.85,s1-2

38、=139.03,s2-3=172.57,轉(zhuǎn)折角分別為:099°0100,167°4536,123°1124。依據(jù)本文程序設(shè)計對上述數(shù)據(jù)進(jìn)行平差操作,輸出如下成果:(1)基于matlab的支導(dǎo)線程序輸入界面,如下圖15所示:圖15 程序輸入界面(3)結(jié)果輸出界面如下圖16所示:圖16 結(jié)果輸出界面(3)根據(jù)程序輸出的平差結(jié)果,整理得下表4:表4 支導(dǎo)線的計算上表為相應(yīng)實例基于matlab程序設(shè)計的輸出結(jié)果,誤差均在限差之內(nèi)。結(jié) 論 導(dǎo)線坐標(biāo)計算是在所有測量工作中經(jīng)常遇見的問題之一,本文在比較了excel辦公軟件、casio計算器、vb編程等導(dǎo)線計算方法的優(yōu)缺點后,決

39、定利用簡單易懂的matlab對附和導(dǎo)線、閉合導(dǎo)線和支導(dǎo)線進(jìn)行相應(yīng)的坐標(biāo)平差計算。 文章首先介紹了幾種導(dǎo)線坐標(biāo)計算方法的優(yōu)缺點,也敘述了matlab的特點,其次依據(jù)數(shù)字測圖原理與方法介紹了附合導(dǎo)線、閉合導(dǎo)線、支導(dǎo)線基本概念和計算方法,詳細(xì)描述了導(dǎo)線布設(shè)和導(dǎo)線觀測,導(dǎo)線觀測包括轉(zhuǎn)折角和邊長觀測,也敘述了三聯(lián)腳架法的相應(yīng)內(nèi)容。接下來利用matlab計算機編程語言對三種導(dǎo)線的計算進(jìn)行編程實現(xiàn),主要思路為:數(shù)據(jù)輸入、角度閉合差計算及分配、坐標(biāo)閉合差計算及分配、坐標(biāo)計算;最后通過三種導(dǎo)線實例驗證,本文利用matlab編寫的程序正確,通過輸入邊長和角度,能夠快速的得到各控制點的準(zhǔn)確坐標(biāo)。致 謝四年大學(xué)生活一

40、晃而過,回首走過的歲月,留下了很多美好的回憶,心中倍感充實,當(dāng)我寫完這篇畢業(yè)論文的時候,有一種如釋重負(fù)的感覺,感慨良多。首先誠摯的感謝我的論文指導(dǎo)老師劉波老師。他在忙碌的教學(xué)工作中擠出時間來審查、修改我的論文。還有教過我的所有老師們,你們嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪。感謝四年中陪伴在我身邊的同學(xué)、朋友,感謝你們?yōu)槲姨岢龅挠幸娴慕ㄗh和意見,有了你們的支持、鼓勵和幫助,我才能充實的度過了四年的學(xué)習(xí)生活。本論文是在導(dǎo)師劉波老師的悉心指導(dǎo)下完成的。老師淵博的專業(yè)知識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,嚴(yán)以律

41、己、寬以待人的崇高風(fēng)范,樸實無華、平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了對待一件事要有認(rèn)真、負(fù)責(zé)的態(tài)度。本論文從選題到完成,每一步都是在指導(dǎo)的悉心指導(dǎo)下完成的,傾注了指導(dǎo)老師大量的心血。在此,謹(jǐn)向劉波老師表示崇高的敬意和衷心的感謝!參考文獻(xiàn)1 姚連壁、周小平編著.基于matlab的控制網(wǎng)平差程序設(shè)計,上海:同濟大學(xué)出版社,2006年, 1-32.2 潘正風(fēng)、楊正堯、程效軍、成樞等編著.數(shù)字測圖原理與方法,武漢:武漢大學(xué)出版社,2004年,181-190.3 武漢大學(xué)測繪學(xué)院測量平差學(xué)科組編著.誤差理論與測量平差基礎(chǔ),武漢:武漢大學(xué)出版社

42、,2010 年,1-5.4 高寧、高彩云.matlab在測繪領(lǐng)域中的應(yīng)用j,平頂山工學(xué)院學(xué)報,2008年01期.5 魯鐵定、周世健、張立亭、官云蘭.測量教學(xué)中matlab軟件的應(yīng)用j,地礦測繪;2004年01期.6 崔利、武文波.測繪領(lǐng)域中matlab的應(yīng)用j,遼寧工程技術(shù)大學(xué)學(xué)報,2005年s1期.7 陳以新.matlab的幾則程序設(shè)計經(jīng)驗j,計算機應(yīng)用研究,1999年09期.8 孫慶華、熊偉、張憲柱、王磊.基于excel和matla導(dǎo)線網(wǎng)平差j,北京測繪,2009年03期,1-32.9 白征東.matlab在測量平差教學(xué)中的應(yīng)用j,測繪通報,2009年11期,1-23.10 高彩云、高寧、

43、孫敬克.matlab在測量平差課程教學(xué)中的嘗試j,科技信息,2009年05期,1-12.11 尹暉主編.測繪工程專業(yè)英語,武漢:武漢大學(xué)出版社,2005年1月第1版,1-43.12 ingenieurvermessung 2004,14th international course on engineering surveyingc.eth zuerich,2004.13 kahmen h.hybrid measurement robots in engineering surveysj. i sprs congres,washington,1992. 附錄1 基于matlab的附合導(dǎo)線平差程

44、序:%觀測數(shù)據(jù)輸入n=input('請輸入導(dǎo)線邊數(shù)');for i=1:n a=num2str(i); string1=(char('請輸入第')',a,('條導(dǎo)線邊長')')' bian(i)=input(string1);endfor k=1:(1+n) s=num2str(k); string2=(char('請輸入第')',s,('個轉(zhuǎn)折角')')' jiao=input(string2,'s'); b=jiao; du=str2num(b(1

45、:3); fen=str2num(b(4:5); miao=str2num(b(6:7); jiao1(k)=du+fen/60+miao/3600;end%起算數(shù)據(jù)輸入xa=input('請輸入已知點a的x坐標(biāo)');ya=input('請輸入已知點a的y坐標(biāo)');xb=input('請輸入已知點b的x坐標(biāo)');yb=input('請輸入已知點b的y坐標(biāo)');%起算方位角的計算rab=atand(abs(yb-ya)/(abs(xb-xa); %ab的起算方位角if (yb-ya)>0&(xb-xa)>0fwj

46、ab=rab;end if (yb-ya)>0&(xb-xa)<0fwjab=180-rab;endif (yb-ya)<0&(xb-xa)<0fwjab=180+rab;endif (yb-ya)<0&(xb-xa)>0fwjab=360-rab;endrcd=atand(abs(yd-yc)/(abs(xd-xc); %cd的起算方位角if (yd-yc)>0&(xd-xc)>0fwjcd=rcd;end if (yd-yc)>0&(xd-xc)<0fwjcd=180-rcd;endif (

47、yd-yc)<0&(xd-xc)<0fwjcd=180+rcd;endif (yd-yc)<0&(xd-xc)>0fwjcd=360-rcd;end%角度閉合差計算 fb=fwjab-fwjcd+sum(jiao1)-n*180; jiao2=jiao1+(fb/6)*(-1);%各觀測角改正后的角度 %真方位角的計算 for k=1:(n+1) if k=1 fwjz(k)=fwjab+jiao2(k); end if k>1 fwjz(k)=fwjz(k-1)+jiao2(k)-180; end end %坐標(biāo)閉合差計算 for i=1:n x

48、z(i)=bian(i)*cosd(fwjz(i); for i=1:n yz(i)=bian(i)*sind(fwjz(i);end end fx=xa+sum(xz)-xc; fy=ya+sum(yz)-yc; %坐標(biāo)閉合差分配 for i=1:n vx(i)=(-1)*fx/sum(bian)*bian(i); end for i=1:n vy(i)=(-1)*fy/sum(bian)*bian(i); end %坐標(biāo)計算 for i=1:n if i=1 x(1)=xa+xz(1)+vx(1) y(1)=ya+yz(1)+vy(1); end if i>1 x(i)=x(i-1)

49、+xz(i)+vx(i); y(i)=y(i-1)+yz(i)+vy(i); end 附錄2 基于matlab的閉合導(dǎo)線平差程序:%觀測數(shù)據(jù)的輸入n=input('請輸入閉合導(dǎo)線的點數(shù)');for i=1:n a=num2str(i); string1=(char('請輸入第')',a,('條導(dǎo)線的邊長:')')' bian(i)=input(string1); b=num2str(i); string2=(char('請輸入第')',b,('個轉(zhuǎn)折角:')')' j

50、iao1=input(string2,'s'); c=jiao1; du=str2num(c(1:3); fen=str2num(c(4:5); miao=str2num(c(6:7); jiao2(i)=du+fen/60+miao/3600;end%起算數(shù)據(jù)的輸入x=input('請輸入起始已知點x的坐標(biāo):');y=input('請輸入起始已知點y的坐標(biāo):');string3=(char('請輸入起始已知方向的起算方位角');fwj1=input(string3,'s');c=fwj1;du=str2num(c(1:3);fen=str2num(c(4:5);miao=str2num(c(6:7);fwj2=du+fen/60+miao/3600;%角度閉合差的計算fb=su

溫馨提示

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

評論

0/150

提交評論