版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
測(cè)繪程序設(shè)計(jì)課程實(shí)習(xí)報(bào)告一、實(shí)習(xí)目的》課程后將測(cè)量平差和計(jì)算機(jī)程序設(shè)計(jì)等課程的綜合實(shí)踐與應(yīng)用的一門課程。其目的是在我們學(xué)習(xí)過平差這門課后增加我們對(duì)誤差理論與測(cè)量平差根底理論C++語(yǔ)言,使平差理論與計(jì)算機(jī)結(jié)合起來(lái),將主要的工作崗位打下了肯定的根底。二、實(shí)習(xí)內(nèi)容本課程要求我們嫻熟運(yùn)用測(cè)量平差的根本公式與計(jì)算方法和擁有根本的要求由簡(jiǎn)至繁完成以下程序?!惨弧辰腔≈g的相互轉(zhuǎn)化及其轉(zhuǎn)化精度?!捕澄募淖x入輸出序時(shí)進(jìn)展輸入,同時(shí)在程序運(yùn)行后結(jié)果自動(dòng)生成文件保存。〔三〕概率運(yùn)算B〔四〕矩陣運(yùn)算決根本運(yùn)算問題?!参濉硹l件平差與間接平差序計(jì)算條件平差與間接平差〔二者具有肯定相像度〕。〔六〕水準(zhǔn)網(wǎng)平差差,再在其根底上編寫一般形式具有廣泛應(yīng)用的一般程序。在將以上根本任務(wù)都完成之后還可以進(jìn)一步編寫GPS向量網(wǎng)等。三、實(shí)習(xí)過程〔一〕角弧之間的相互轉(zhuǎn)化編程思路:首先在頭文件中要注明#include<cmath>保證程序中的數(shù)學(xué)運(yùn)算合理,然后建立一個(gè)角度是否合理推斷的函數(shù),在其中將角度的度、分、秒分別用三個(gè)double型變量abc30°66′27“31°6′27“以及角度的正負(fù)。然后在主函數(shù)中選擇進(jìn)展角度轉(zhuǎn)化為弧度或弧度轉(zhuǎn)化為角度,再輸入數(shù)值時(shí),為了使接下來(lái)的運(yùn)算能夠計(jì)算正確,假設(shè)輸入復(fù)制現(xiàn)將負(fù)值提出flag=(a<0.0)?-1.0:1.0,其中a為角度中的度數(shù),在程序全部計(jì)算都運(yùn)行完畢后在加上其負(fù)值-1θ=L×180÷πθ為角度,L為弧度。在角度化弧度中表示為L(zhǎng)=(a+b/60.0+c/3600.0)/180.0*s*4*atan(1),在弧度化角度中表示為m=L*180/(4*atan(1)m為將度分秒化為度的形式,在利用取整’/’m化為度分秒的形式。計(jì)算結(jié)果:〔二〕文件的讀入輸出編程思路:進(jìn)展操作可隨時(shí)進(jìn)展數(shù)據(jù)更換。在角弧相互轉(zhuǎn)化程序的根底上進(jìn)展更編在原本輸入角度和弧度地方使用文件操作,首先在頭文件處要標(biāo)明#include<fstream>,使我們對(duì)程序進(jìn)展文件操作時(shí)的行為合法,在進(jìn)展翻開文件處寫上ifstreaminfile(“jiao.txt“),括號(hào)中要翻開的文件名稱和格式為txt,并且用if(!infile)推斷文件是否成功翻開了,成功翻開后,并且在程序完畢時(shí)要關(guān)閉讀入的文件infile.close,解除該磁盤文件與文件流的關(guān)系就不能再通過文件流對(duì)文件進(jìn)展輸入或輸出在輸 出 計(jì) 算 結(jié) 果 到 文 件 中 時(shí) 寫 為 ofstreamoutfile;outfile.open(“jiao_out.txt“);括號(hào)中的為文件輸出后所在的文件文及其格式結(jié)果所在的文件可以在程序運(yùn)行前就建好空白文件也可不建立,在程序運(yùn)行后會(huì)自動(dòng)生成一個(gè)如括號(hào)里寫的文件。后,其結(jié)果可以更好的保存,輸入數(shù)據(jù)時(shí)更便利,而程序更具有一般性。計(jì)算結(jié)果:〔三〕概率計(jì)算編程思路出操作和函數(shù)的調(diào)用練習(xí),將數(shù)據(jù)輸入到程序中求得結(jié)果。計(jì)算結(jié)果:〔四〕矩陣運(yùn)算在程序中矩陣要依靠創(chuàng)立動(dòng)態(tài)數(shù)組來(lái)表示,創(chuàng)立動(dòng)態(tài)數(shù)組是為了儲(chǔ)存未知組來(lái)表示矩陣的方法有很多例如將二維數(shù)組作為一維數(shù)組儲(chǔ)存本次程序編譯就承受了這種方法將矩陣表示為:double*P=newdouble[n];Pn組。delete將動(dòng)態(tài)安排建立的對(duì)象刪除,從而釋放空間。除了這種方法之外,還可以直接定義二維數(shù)組,或調(diào)用函數(shù)創(chuàng)立來(lái)表示矩陣。2.矩陣的運(yùn)算〔1〕矩陣加法與減法矩陣的加法與減法相像,比較簡(jiǎn)潔。首先還是要進(jìn)展文件操作,讀入兩個(gè)if(p!=n*m||k!=n*m),假設(shè)是行列數(shù)不相需要返回指針。矩陣乘法矩陣的乘法比起矩陣的加減法要稍稍有一點(diǎn)難度,由于其根本要求是第一n×mAp×qBm是否與其次個(gè)矩陣pC0。數(shù)組C的第i行第j列的元素值等于數(shù)組A的第i行元素與數(shù)組B的第j*(C+i*m+j)+=(*(A+i*m+k))*(*(B+k*q+j));這里運(yùn)用了多for矩陣的轉(zhuǎn)置矩陣的轉(zhuǎn)置表達(dá)較為簡(jiǎn)潔,進(jìn)展文件操作,讀入兩個(gè)矩陣的數(shù)值,定義一針。矩陣求逆函數(shù)中矩陣的存儲(chǔ)是僅存下三角矩陣元素。對(duì)稱正定矩陣求逆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.計(jì)算結(jié)果:〔五〕條件平差與間接平差間接平差⑴公式及算法:間接平差與條件平差有肯定的相像度間接平差法〔參數(shù)平差法〕是通過t出參數(shù)的最或然值,從而求得個(gè)觀測(cè)值的平差值。間接平差的函數(shù)模型為:L=F(X);X=X0+x;隨機(jī)模型: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,所以從文本中直接讀入的三個(gè)矩陣還不能直接進(jìn)展運(yùn)算,為了進(jìn)展運(yùn)算我們要將P變化一n*nBTPBBTPL,然后調(diào)用矩陣求逆函數(shù)BTPB〔BTPB〕-1;由QXXJJ單位權(quán)中誤差μXσ=μj Xj
其中開根sqrt函數(shù)求得。⑶計(jì)算結(jié)果:條件平差⑴公式及算法:rV?PV=min,依據(jù)求函數(shù)的條件極值的方法,求出觀測(cè)量的改正數(shù)V,進(jìn)而求出觀測(cè)的最或然值〔平差值〕,條件方程個(gè)數(shù)等于多余觀測(cè)數(shù)r=n-t,nt觀測(cè)數(shù)。條件平差中設(shè)條件方程式為BV+W=0;〕;Br×n階系數(shù)矩陣;〔r?yàn)闂l件方程個(gè)數(shù)〕;Wr維條件方程自由向量;有最小二乘法可得聯(lián)系數(shù)法方程為BPˉ1B?K+W=0;P為觀測(cè)值的權(quán)矩陣并設(shè)觀測(cè)值獨(dú)立,P為對(duì)角矩陣,數(shù)組長(zhǎng)度為n;K為聯(lián)系數(shù)向量,K=-〔BPˉ1B?〕W;法方程:BPBTK+W=0;隨機(jī)模型:D=σ2Q=σ2P-10 0改正數(shù)向量V=Pˉ1B?K;VTPVrVTPVr觀測(cè)值平差值的權(quán)逆陣QL=Pˉ1-Pˉ1B?〔BPˉ1B?〕ˉ1BPˉ1;⑵編程思路:首先,在程序頭文件處廣泛定義一個(gè)N在下面程序中都為一個(gè)其確定的函數(shù)multipy,將矩陣用一維動(dòng)態(tài)數(shù)組表示出來(lái),a3[i*r+x]+=a1[i*q+j]*a2[j*r+x]fora1[i*m+j]=a[j*n+i];矩陣求逆的程序是查找資料找到的一段固定代碼。在主函數(shù)中首先利用動(dòng)態(tài)數(shù)組定義B,W,Q,P,然后進(jìn)展文件操作進(jìn)展數(shù)據(jù)的輸入,文件中已經(jīng)寫好的矩陣元素一一對(duì)應(yīng)輸入,開頭計(jì)算,首先調(diào)用multiplyAQ,在調(diào)用transposeAA進(jìn)展求逆,然后前兩項(xiàng)計(jì)算得AQAˉ1,再與W相乘算出K=—〔AQˉ1A?〕W,再調(diào)用乘法及轉(zhuǎn)置函數(shù)計(jì)算V=Qˉ1A?K,V?PV求得中誤差μ。for循環(huán)⑶計(jì)算結(jié)果:〔六〕水準(zhǔn)網(wǎng)平差1.公式及算法:P、Ltxt據(jù)是最原始的數(shù)據(jù)。水準(zhǔn)網(wǎng)的原始數(shù)據(jù)內(nèi)容分為網(wǎng)的概況、數(shù)據(jù)、觀測(cè)數(shù)據(jù)三局部?!苍冢簦粑谋局幸陨蠑?shù)據(jù)放在一行中〕個(gè)點(diǎn)和它的高程值占一行〕〔在txt文本中點(diǎn)名包含字符串所以不能用空格〕依據(jù)最原始的數(shù)據(jù),將誤差方程式的系數(shù)陣B、常數(shù)項(xiàng)L以及權(quán)陣P求出,組成誤差方程式V=Bx+L;之后幾步同間接平差一樣單位權(quán)中誤差μ,求得某參Xj的中誤差σXj=μQXJXJ,然后求觀測(cè)值改正值VL=L0+v,2.編程思路:在水準(zhǔn)網(wǎng)平差中還是要運(yùn)用矩陣運(yùn)算,矩陣的運(yùn)算在前幾次實(shí)習(xí)中已經(jīng)編一般格式定義函數(shù)的重載在本程序當(dāng)中進(jìn)展文件讀取操作比起之前的操作變得簡(jiǎn)單很多。定義double定義長(zhǎng)度為動(dòng)態(tài)字符串一維數(shù)組 string**A=newstring*[yy];存儲(chǔ)讀入點(diǎn)矩陣的點(diǎn)號(hào)與高程,利用兩段for循環(huán)來(lái)實(shí)現(xiàn),依次讀入點(diǎn)名與高程。高程。定義一段的動(dòng)態(tài)字符串?dāng)?shù)組string **AA=newstring定義一段的動(dòng)態(tài)字符串?dāng)?shù)組string **AA=newstring*[m];存儲(chǔ)讀入未知點(diǎn)矩陣的點(diǎn)號(hào)與高程存儲(chǔ)起點(diǎn)名,定義長(zhǎng)度為n的string **XX=newstring*[n];存儲(chǔ)未知點(diǎn)號(hào)。BBn×r〔n先將點(diǎn)的點(diǎn)名存儲(chǔ)到存放總點(diǎn)名的字符串?dāng)?shù)組中,先初始化系數(shù)矩陣A[m][n]為0矩陣;然后掌握循環(huán)條件,依次輸入各段水準(zhǔn)路線的起點(diǎn)、終點(diǎn);依次推斷各水準(zhǔn)路線的起點(diǎn)、終點(diǎn)在矩陣 A 中的位置,在計(jì)算B時(shí)利用if(AA[i][0]==A[j][0]||AA[i][1]==A[j][0]);推斷是否有點(diǎn);if(AA[i][0]==A[j][0]||AA[i][1]==A[j][0]);推斷是否有點(diǎn);B-1,當(dāng)終點(diǎn)是未知點(diǎn)時(shí),即其系數(shù)為B-1,當(dāng)終點(diǎn)是未知點(diǎn)時(shí),即其系數(shù)為1,B矩陣的其他元素賦值為0.求常數(shù)項(xiàng)矩陣L:v
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無(wú)窮大填空題目及答案
- 藥品庫(kù)房工作制度
- 養(yǎng)老院老人心理關(guān)愛制度
- 養(yǎng)老院老人日常生活照料制度
- 養(yǎng)老院緊急救援制度
- 奇哥作文題目及答案
- 辦公室員工培訓(xùn)經(jīng)費(fèi)使用制度
- 鎮(zhèn)安全生產(chǎn)管理制度
- 混合物的物理題目及答案
- 肺脹病中醫(yī)護(hù)理方案
- 安岳縣防汛抗旱應(yīng)急預(yù)案
- 2025年航空工業(yè)行業(yè)航空工業(yè)數(shù)字化轉(zhuǎn)型研究報(bào)告
- 白城市2025年下半年吉林白城洮北區(qū)面向應(yīng)征入伍高校全日制本科畢業(yè)生招聘事業(yè)單位筆試題帶
- 醫(yī)院非暴力溝通課件
- 聽覺生理學(xué)基礎(chǔ)與聽力檢查
- 園林綠化養(yǎng)護(hù)標(biāo)準(zhǔn)與作業(yè)流程說(shuō)明
- 收購(gòu)五金輔料店協(xié)議合同
- 噴砂車間管理辦法
- 梨狀肌綜合癥康復(fù)指導(dǎo)講課件
- 【SA8000標(biāo)準(zhǔn)(社會(huì)責(zé)任標(biāo)準(zhǔn))對(duì)我國(guó)勞動(dòng)密集型產(chǎn)業(yè)的影響及應(yīng)對(duì)措施研究12000字(論文)】
- 醫(yī)療行業(yè)知識(shí)產(chǎn)權(quán)教育的必要性
評(píng)論
0/150
提交評(píng)論