freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

測繪程序設(shè)計(jì)課程實(shí)習(xí)報(bào)告(已修改)

2025-01-30 23:16 本頁面
 

【正文】 測繪程序設(shè)計(jì)課程實(shí)習(xí)報(bào)告一、實(shí)習(xí)目的鞏固之前所學(xué)的c++類定義、文件操作等各方面知識,掌握矩陣計(jì)算的基本算法,熟悉并熟練運(yùn)用平差模型,掌握測量平差的基本原理和公式,并處理測量觀測數(shù)據(jù)。二、實(shí)習(xí)內(nèi)容該課程的實(shí)習(xí)主要為c語言及c++編程基礎(chǔ),矩陣操作算法,條件平差,間接平差,以及在水準(zhǔn)網(wǎng)平差中的應(yīng)用。三、實(shí)習(xí)過程(1) 實(shí)習(xí)1(文件的基本操作以及角度、弧度的轉(zhuǎn)化)1. 準(zhǔn)備C++文件操作函數(shù)包含于頭文件fstreamofstreamifstream,一般情況下使用fstream即可。在計(jì)算過程中需要文件輸出格式控制,函數(shù)包含于iomainip。c++的流操作函數(shù)包含于iostream,相應(yīng)的流函數(shù)在命名空間“std”。角度轉(zhuǎn)弧度的過程中,首先判斷正負(fù),對符號進(jìn)行不同情況的處理。將度數(shù)的分,秒位分別除以60、3600,然后把得到的結(jié)果與度位絕對值相加,判斷符號。弧度轉(zhuǎn)角度的過程中,同樣判斷正負(fù),取小數(shù)位乘以60取整數(shù)得到相應(yīng)角度的分,再取剩余的小數(shù)乘以60即得到相應(yīng)角度的秒。2. 代碼include iostreaminclude include fstreaminclude stringusing namespace std。const double pi = 。int main(){ fstream file()。 //定義文件操作對象 string aa。 fileaa。 coutaaendl。 //輸出文件中的內(nèi)容 int a = 1。 //定義重復(fù)輸入使用的變量 while(a) //限制循環(huán),重復(fù)輸入 { float a1,a2,a3。 coutendl。 double deg。 cout輸入度endl。 cina1。 cout輸入分endl。 cina2。 cout輸入秒endl。 cina3。 cout角度為 a1176。 a2′ a3″ endl。     if(a1 = 0) //判斷輸入度數(shù)的正負(fù) deg = a1 + a2/60 + a3/3600。 else deg = a1 a2/60 a3/3600。 double radian。     radian = deg/180*pi。 cout轉(zhuǎn)換得弧度為 radianendl。 coutendl。 cout輸入弧度: endl。     cinradian。     bool tm = 0。 deg = radian*180/pi。 if(deg0)      { tm = 1。 deg = deg。      } a1 = int(deg)。 a2 = int( (dega1)*60 )。 a3 = ( (dega1a2/60)*3600 )。 if(tm == 1) { a1 = a1。 tm = 0。} cout轉(zhuǎn)換后角度為 a1176。 a2′ a3″e(cuò)ndl。      } return 0。}3. 運(yùn)行結(jié)果 輸入度20輸入分55輸入秒32角度為 20176。 55′ 32″轉(zhuǎn)換得弧度為 輸入弧度:轉(zhuǎn)化后角度為 179176。 54′ ″Press any key to continue4. 出現(xiàn)的問題角度轉(zhuǎn)換過程中需要考慮角度的正負(fù)號問題,角度轉(zhuǎn)化可以添加是否超過59的判斷。(2) 實(shí)習(xí)2(概率計(jì)算)1. 準(zhǔn)備在誤差檢驗(yàn)、粗差探測等平差計(jì)算中經(jīng)常需要計(jì)算某些特定分布函數(shù)的反函數(shù)值,為滿足計(jì)算需要,使用CProbability類對相關(guān)計(jì)算進(jìn)行封裝。2. 代碼及運(yùn)行結(jié)果與書上相同。(3) 實(shí)習(xí)3(矩陣基本運(yùn)算)1. 準(zhǔn)備矩陣的運(yùn)算有加法、減法、乘法、轉(zhuǎn)置、求逆,封裝在一個(gè)類中。為了方便之后的計(jì)算與使用,類中還添加了從文件中讀入矩陣、輸出矩陣,向控制臺輸入輸出矩陣的函數(shù)。代入運(yùn)算的矩陣均用動(dòng)態(tài)的一維數(shù)組表示。先定義double型指針,在確定矩陣大小后動(dòng)態(tài)申請空間,row行col列的矩陣定義為:double *mat = new double[row*col]。 第i行j列的元素為mat[i*col+j]。矩陣的加法、減法只需遍歷兩個(gè)矩陣的每個(gè)元素,相加之后放到結(jié)果矩陣中(如有必要先判斷相加的兩矩陣行數(shù)與列數(shù)是否相等)。乘法計(jì)算中設(shè)相成的兩個(gè)矩陣matmat2的行列分別為rowcol,col、col2,則所求結(jié)果矩陣第i行j列的元素 用三個(gè)循環(huán)即可計(jì)算矩陣中所有的元素。矩陣轉(zhuǎn)置將結(jié)果矩陣中的i行j列元素賦值為需要計(jì)算的矩陣中的j行i列個(gè)元素即可。矩陣求逆,由于平差計(jì)算中需要求逆的矩陣一般為實(shí)對稱正定矩陣,為了提高大型矩陣的計(jì)算效率,可以使用對實(shí)對稱正定矩陣求逆的方法。設(shè)C為n階對稱正定矩陣,y、x為n維向量,其關(guān)系式為: y=Cx (31)確定了上的一個(gè)映像,如能寫出逆關(guān)系: x=By (32)則B為C的逆陣,即B=現(xiàn)將式(31)寫成 ...... ...... (33) ....... ......因C對稱正定,必有0,用除式(33)第一個(gè)方程的兩端,解出,把和的位置交換,并將代入其他各式得 ...... ...... (34) ...... ...... 事實(shí)上式(34)可以改寫為 ...... + ...... + ........ (35) ...... +如果對式(35)中的變量按如下規(guī)則重新編號 (36) 經(jīng)n次變換后恢復(fù)原狀,采用變量循環(huán)重新編號法的計(jì)算公式如下:對于 由于變量循環(huán)重新編號法求逆均在下三角陣(包括對角元素)進(jìn)行,因而運(yùn)行速快,在大型矩陣的計(jì)算中可以很好的適用。矩陣運(yùn)算的函數(shù)封裝在類mat中。2. 代碼 :include fstreaminclude iostreamincludeusing namespace std。class mat{public: void add(int row,int col,double m[],double n[],double result[])。//加法 void sub(int row,int col,double m[],double n[],double result[])。//減法 double* multiply(int row, int col, int col2, double m[],double n[])。//乘法 void trans(int row, int col, double m[], double result[])。//轉(zhuǎn)置 bool inverse(double a[], int n)。//求逆 void fileIn(ifstream amp。in, int size, double *mat)。//從文件中讀入 void fileOut(ofstream out, int row, int col, double *mat)。//向文件輸出 void
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1