版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
測繪程序設(shè)計課程實習(xí)報告一、實習(xí)目的》課程后將測量平差和計算機程序設(shè)計等課程的綜合實踐與應(yīng)用的一門課程。其目的是在我們學(xué)習(xí)過平差這門課后增加我們對誤差理論與測量平差根底理論C++語言,使平差理論與計算機結(jié)合起來,將主要的工作崗位打下了肯定的根底。二、實習(xí)內(nèi)容本課程要求我們嫻熟運用測量平差的根本公式與計算方法和擁有根本的要求由簡至繁完成以下程序?!惨弧辰腔≈g的相互轉(zhuǎn)化及其轉(zhuǎn)化精度?!捕澄募淖x入輸出序時進展輸入,同時在程序運行后結(jié)果自動生成文件保存?!踩掣怕蔬\算B〔四〕矩陣運算決根本運算問題?!参濉硹l件平差與間接平差序計算條件平差與間接平差〔二者具有肯定相像度〕?!擦乘疁?zhǔn)網(wǎng)平差差,再在其根底上編寫一般形式具有廣泛應(yīng)用的一般程序。在將以上根本任務(wù)都完成之后還可以進一步編寫GPS向量網(wǎng)等。三、實習(xí)過程〔一〕角弧之間的相互轉(zhuǎn)化編程思路:首先在頭文件中要注明#include<cmath>保證程序中的數(shù)學(xué)運算合理,然后建立一個角度是否合理推斷的函數(shù),在其中將角度的度、分、秒分別用三個double型變量abc30°66′27“31°6′27“以及角度的正負(fù)。然后在主函數(shù)中選擇進展角度轉(zhuǎn)化為弧度或弧度轉(zhuǎn)化為角度,再輸入數(shù)值時,為了使接下來的運算能夠計算正確,假設(shè)輸入復(fù)制現(xiàn)將負(fù)值提出flag=(a<0.0)?-1.0:1.0,其中a為角度中的度數(shù),在程序全部計算都運行完畢后在加上其負(fù)值-1θ=L×180÷πθ為角度,L為弧度。在角度化弧度中表示為L=(a+b/60.0+c/3600.0)/180.0*s*4*atan(1),在弧度化角度中表示為m=L*180/(4*atan(1)m為將度分秒化為度的形式,在利用取整’/’m化為度分秒的形式。計算結(jié)果:〔二〕文件的讀入輸出編程思路:進展操作可隨時進展數(shù)據(jù)更換。在角弧相互轉(zhuǎn)化程序的根底上進展更編在原本輸入角度和弧度地方使用文件操作,首先在頭文件處要標(biāo)明#include<fstream>,使我們對程序進展文件操作時的行為合法,在進展翻開文件處寫上ifstreaminfile(“jiao.txt“),括號中要翻開的文件名稱和格式為txt,并且用if(!infile)推斷文件是否成功翻開了,成功翻開后,并且在程序完畢時要關(guān)閉讀入的文件infile.close,解除該磁盤文件與文件流的關(guān)系就不能再通過文件流對文件進展輸入或輸出在輸 出 計 算 結(jié) 果 到 文 件 中 時 寫 為 ofstreamoutfile;outfile.open(“jiao_out.txt“);括號中的為文件輸出后所在的文件文及其格式結(jié)果所在的文件可以在程序運行前就建好空白文件也可不建立,在程序運行后會自動生成一個如括號里寫的文件。后,其結(jié)果可以更好的保存,輸入數(shù)據(jù)時更便利,而程序更具有一般性。計算結(jié)果:〔三〕概率計算編程思路出操作和函數(shù)的調(diào)用練習(xí),將數(shù)據(jù)輸入到程序中求得結(jié)果。計算結(jié)果:〔四〕矩陣運算在程序中矩陣要依靠創(chuàng)立動態(tài)數(shù)組來表示,創(chuàng)立動態(tài)數(shù)組是為了儲存未知組來表示矩陣的方法有很多例如將二維數(shù)組作為一維數(shù)組儲存本次程序編譯就承受了這種方法將矩陣表示為:double*P=newdouble[n];Pn組。delete將動態(tài)安排建立的對象刪除,從而釋放空間。除了這種方法之外,還可以直接定義二維數(shù)組,或調(diào)用函數(shù)創(chuàng)立來表示矩陣。2.矩陣的運算〔1〕矩陣加法與減法矩陣的加法與減法相像,比較簡潔。首先還是要進展文件操作,讀入兩個if(p!=n*m||k!=n*m),假設(shè)是行列數(shù)不相需要返回指針。矩陣乘法矩陣的乘法比起矩陣的加減法要稍稍有一點難度,由于其根本要求是第一n×mAp×qBm是否與其次個矩陣pC0。數(shù)組C的第i行第j列的元素值等于數(shù)組A的第i行元素與數(shù)組B的第j*(C+i*m+j)+=(*(A+i*m+k))*(*(B+k*q+j));這里運用了多for矩陣的轉(zhuǎn)置矩陣的轉(zhuǎn)置表達(dá)較為簡潔,進展文件操作,讀入兩個矩陣的數(shù)值,定義一針。矩陣求逆函數(shù)中矩陣的存儲是僅存下三角矩陣元素。對稱正定矩陣求逆An×nˉ。矩陣求逆分一般分式如下:a’ =1/an-1,n-1 0,0a’ =-a/a(j=1,2,...,n-k-1)n-1,j-1
0,j
0,0a’ =a/a(j=n-k,n-k+1,...,n-1)n-1,n-1 0,j 0,0a’ =a-a
a/a
(i=1,2,..,n-1;j=1,2,...,n-k-1)i-1,n-1
0,i
0,j
0,0a’ =a-a
a/a
(i=1,2,..,n-1;j=n-k,n-k-1,...,n-1)i-1,n-1
0,i
0,j
0,01.計算結(jié)果:〔五〕條件平差與間接平差間接平差⑴公式及算法:間接平差與條件平差有肯定的相像度間接平差法〔參數(shù)平差法〕是通過t出參數(shù)的最或然值,從而求得個觀測值的平差值。間接平差的函數(shù)模型為:L=F(X);X=X0+x;隨機模型:D=σ2Q=σ2P-10 0誤差方程:V=Bx-L;法方程:BTPBx-BTPL=0;VTPVn-t法方程解:x=〔BTPB〕-1BVTPVn-tBt×nPn×nL、x、Vn×1⑵編程思路:間接平差的程序編譯與條件平差有相像之處,尤其是主函數(shù)之前的之前的transpose,和矩陣求逆是完全一樣的。QXXJJtxt文檔中的B,P,L的multipytransposeB、P、LBTPL;數(shù)組Bt*n,數(shù)組Pn,數(shù)組Ln,所以從文本中直接讀入的三個矩陣還不能直接進展運算,為了進展運算我們要將P變化一n*nBTPBBTPL,然后調(diào)用矩陣求逆函數(shù)BTPB〔BTPB〕-1;由QXXJJ單位權(quán)中誤差μXσ=μj Xj
其中開根sqrt函數(shù)求得。⑶計算結(jié)果:條件平差⑴公式及算法:rV?PV=min,依據(jù)求函數(shù)的條件極值的方法,求出觀測量的改正數(shù)V,進而求出觀測的最或然值〔平差值〕,條件方程個數(shù)等于多余觀測數(shù)r=n-t,nt觀測數(shù)。條件平差中設(shè)條件方程式為BV+W=0;〕;Br×n階系數(shù)矩陣;〔r為條件方程個數(shù)〕;Wr維條件方程自由向量;有最小二乘法可得聯(lián)系數(shù)法方程為BPˉ1B?K+W=0;P為觀測值的權(quán)矩陣并設(shè)觀測值獨立,P為對角矩陣,數(shù)組長度為n;K為聯(lián)系數(shù)向量,K=-〔BPˉ1B?〕W;法方程:BPBTK+W=0;隨機模型:D=σ2Q=σ2P-10 0改正數(shù)向量V=Pˉ1B?K;VTPVrVTPVr觀測值平差值的權(quán)逆陣QL=Pˉ1-Pˉ1B?〔BPˉ1B?〕ˉ1BPˉ1;⑵編程思路:首先,在程序頭文件處廣泛定義一個N在下面程序中都為一個其確定的函數(shù)multipy,將矩陣用一維動態(tài)數(shù)組表示出來,a3[i*r+x]+=a1[i*q+j]*a2[j*r+x]fora1[i*m+j]=a[j*n+i];矩陣求逆的程序是查找資料找到的一段固定代碼。在主函數(shù)中首先利用動態(tài)數(shù)組定義B,W,Q,P,然后進展文件操作進展數(shù)據(jù)的輸入,文件中已經(jīng)寫好的矩陣元素一一對應(yīng)輸入,開頭計算,首先調(diào)用multiplyAQ,在調(diào)用transposeAA進展求逆,然后前兩項計算得AQAˉ1,再與W相乘算出K=—〔AQˉ1A?〕W,再調(diào)用乘法及轉(zhuǎn)置函數(shù)計算V=Qˉ1A?K,V?PV求得中誤差μ。for循環(huán)⑶計算結(jié)果:〔六〕水準(zhǔn)網(wǎng)平差1.公式及算法:P、Ltxt據(jù)是最原始的數(shù)據(jù)。水準(zhǔn)網(wǎng)的原始數(shù)據(jù)內(nèi)容分為網(wǎng)的概況、數(shù)據(jù)、觀測數(shù)據(jù)三局部?!苍冢簦粑谋局幸陨蠑?shù)據(jù)放在一行中〕個點和它的高程值占一行〕〔在txt文本中點名包含字符串所以不能用空格〕依據(jù)最原始的數(shù)據(jù),將誤差方程式的系數(shù)陣B、常數(shù)項L以及權(quán)陣P求出,組成誤差方程式V=Bx+L;之后幾步同間接平差一樣單位權(quán)中誤差μ,求得某參Xj的中誤差σXj=μQXJXJ,然后求觀測值改正值VL=L0+v,2.編程思路:在水準(zhǔn)網(wǎng)平差中還是要運用矩陣運算,矩陣的運算在前幾次實習(xí)中已經(jīng)編一般格式定義函數(shù)的重載在本程序當(dāng)中進展文件讀取操作比起之前的操作變得簡單很多。定義double定義長度為動態(tài)字符串一維數(shù)組 string**A=newstring*[yy];存儲讀入點矩陣的點號與高程,利用兩段for循環(huán)來實現(xiàn),依次讀入點名與高程。高程。定義一段的動態(tài)字符串?dāng)?shù)組string **AA=newstring定義一段的動態(tài)字符串?dāng)?shù)組string **AA=newstring*[m];存儲讀入未知點矩陣的點號與高程存儲起點名,定義長度為n的string **XX=newstring*[n];存儲未知點號。BBn×r〔n先將點的點名存儲到存放總點名的字符串?dāng)?shù)組中,先初始化系數(shù)矩陣A[m][n]為0矩陣;然后掌握循環(huán)條件,依次輸入各段水準(zhǔn)路線的起點、終點;依次推斷各水準(zhǔn)路線的起點、終點在矩陣 A 中的位置,在計算B時利用if(AA[i][0]==A[j][0]||AA[i][1]==A[j][0]);推斷是否有點;if(AA[i][0]==A[j][0]||AA[i][1]==A[j][0]);推斷是否有點;B-1,當(dāng)終點是未知點時,即其系數(shù)為B-1,當(dāng)終點是未知點時,即其系數(shù)為1,B矩陣的其他元素賦值為0.求常數(shù)項矩陣L:v
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (新教材)2026年青島版八年級上冊數(shù)學(xué) 1.1 定義與命題 課件
- 中風(fēng)鼻飼護理質(zhì)量評價標(biāo)準(zhǔn)
- 腸梗阻患者的排便觀察與護理
- 2025年辦公室家具采購協(xié)議
- 《污染地塊可持續(xù)風(fēng)險管控與低碳再利用技術(shù)指南》(征求意見稿)
- 2025年你的運動目標(biāo)需要這些數(shù)據(jù)支撐
- 2025年測試自動化中的異常日志分析
- 2026 年中職開放教育(開放教育理論)試題及答案
- 省直考試真題及答案
- 聲音信號壓縮方法
- 2023中國兒童維生素E、維生素D臨床應(yīng)用專家共識(全文)
- 數(shù)學(xué)六年級上冊-第八單元檢測卷(一)
- 主動脈瓣置換、升主動脈置換術(shù)護理查房
- NT855康明斯發(fā)動機大修統(tǒng)計記錄文本數(shù)據(jù)
- 短暫性腦缺血發(fā)作診療指南診療規(guī)范
- 五子棋社團活動方案及五子棋社團活動教案
- 個人獨資企業(yè)公司章程(商貿(mào)公司)
- GA/T 1073-2013生物樣品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、異丙醇和正丁醇的頂空-氣相色譜檢驗方法
- A建筑公司發(fā)展戰(zhàn)略研究,mba戰(zhàn)略管理論文
- 中國汽車工業(yè)協(xié)會-軟件定義汽車:產(chǎn)業(yè)生態(tài)創(chuàng)新白皮書v1.0-103正式版
評論
0/150
提交評論