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

正文內(nèi)容

測繪程序設計課程實習報告(已修改)

2025-01-30 23:16 本頁面
 

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