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

正文內容

測繪程序設計課程實習報告(編輯修改稿)

2025-02-14 23:16 本頁面
 

【文章內容簡介】 體放在類中形成內聯(lián)函數(shù)以增加程序的效率。函數(shù)除了使用類外還可以考慮使用一個命名空間對函數(shù)進行封裝,或是在類中封裝矩陣的其他元素,重載操作符元素(在簡單的運算中比較方便,在較為復雜的運算中不太適用,比如用下三角存放的矩陣)。(4) 實習3(間接平差)1. 準備間接平差法(參數(shù)平差法)是通過選定t個與觀測值有一定關系的獨立未知量作為參數(shù),將每個觀測值都分別表達成這t個參數(shù)的函數(shù),建立函數(shù)模型,按最小二乘原理,用求自由極值的方法解出參數(shù)的最或然值,從而求得各觀測值的平差值。設誤差方程 V = Bxl 其中V為觀測值改正數(shù),A為系數(shù)矩陣,x為參數(shù)向量,L為觀測值向量,則x的最小二乘解 其中P為觀測值權陣單位權中誤差在間接平差的計算函數(shù)中,需要輸入已知參數(shù):n(觀測值數(shù))t(參數(shù)個數(shù))B(誤差方程系數(shù)矩陣,大小n*t)L(觀測值向量,大小n*1)P(觀測值權陣簡化為對角數(shù)組)需要求解的參數(shù):X(參數(shù)平差值向量,大小t*1)V(觀測值平差值向量,大小n*1)u(單位權中誤差)計算過程:1) 通過B、P、L計算、2) 求的逆矩陣3) 計算平差值 4) 將X代入計算 V = Bxl 5) 代入計算 計算函數(shù)void adjust(int n, int t, double V[], double B[], double X[], double L[], double P[],double amp。u)2. 代碼 文件“” “”同上; 文件“”: includeincludeiomanipmat mat_c。/**V = BXL。V: n*1B: n*tX: t*1L: n*1P: n*1已知:B、L、P求:X、V、*/void adjust(int n, int t, double V[], double B[], double X[], double L[], double P[],double amp。u){ int i,j,k。 double *BTPB = new double[(t+1)*t/2]。 double *BTPB2 = new double[(t+1)*t/2]。 for(i=0。 i(t+1)*t/2。 i++) BTPB2[i] = 0。 coutBTPB2endl。 for(i=0。 it。 i++) { for(j=0。 j=i。 j++) { for(k=0。 kn。 k++) BTPB2[i*(i+1)/2+j] += B[k*t+i]*P[k]*B[k*t+j]。 coutBTPB2[i*(i+1)/2+j]。 } coutendl。 } (BTPB2,t)。 double *BTPL = new double[t*1]。 for(i=0。 it。 i++) { BTPL[i] = 0。 for(k=0。 kn。 k++) { BTPL[i] += B[k*t+i]*P[k]*L[k]。 } } for(i=0。 it。 i++) { X[i] = 0。 for(j=0。 jt。 j++) X[i] += BTPB2[(i,j)]*BTPL[j]。 }// X = (t,t,1,BTPB2,BTPL)。 下三角矩陣不能用一般乘法 double *BX。 BX = (n,t,1,B,X)。 (n,1,BX,L,V)。// V = BXL u = 0。 for(i=0。 in。 i++) { u += V[i]*P[i]*V[i]。 } u = sqrt(u/(nt))。}void main(){ double* B = new double[3*6]。 double* L = new double[6*1]。 double* P = new double[6]。 double* X = new double[3]。 double* V = new double[6]。 double u = 0。 ifstream file()。 (file,3*6,B)。 (file,6,L)。 (file,6,P)。 int n,t。 filen。 filet。 coutsetiosflags(ios::fixed) setprecision(6) 。 adjust(n,t,V,B,X,L,P,u)。 coutuendl。 (6,1,V)。 double H[] = {,,}。 for(int i=0。 i6。 i++) { cout改正后Hi:H[i]+V[i]endl。 H[i] = H[i]+V[i]。 } coutA: 10+H[3]endl。 coutB: 10+H[4]endl。 coutD: 10+H[5]endl。 } 測試文件數(shù)據(jù):1 1 0 0 1 11 0 11 0 00 1 00 0 10002221116 33. 運行結果BTPB2改正后H0:改正后H1:改正后H2:改正后H3:改正后H4:改正后H5:A: B: D: Press any key to continue4. 出現(xiàn)的問題由于double類型計算精度問題,輸出時容易出現(xiàn)很趨近于0的小數(shù),需要控制輸出流格式,包含頭文件iomainip,使用coutsetiosflags(ios::fixed) setprecision(6) 。最后的數(shù)字為控制小數(shù)輸出的位數(shù)。為了提高計算效率,使用下三角矩陣存儲,使用向量存儲權陣,使用這種方法時,之前所用的矩陣類中乘法不能使用,需要直接用for循環(huán)進行計算。(5) 實習4(條件平差)1. 準備條件平差是根據(jù)各觀測元素間所構成的幾何條件以及起始數(shù)據(jù)間的強制條件,按最小二乘法的原理求得各觀測值的最或然值,以消除由于多次觀測產(chǎn)生的矛盾的平差方法。條件平差模型為 其中V為觀測值改正數(shù),A為系數(shù)矩陣,W為條件方程自由項向量,則由最小二乘原理: 其中P為觀測值權陣,K為拉格朗日算法中聯(lián)系數(shù)向量,解為: 改正數(shù)向量V的解為: 單位權中誤差 在條件平差的計算函數(shù)中,需要輸入已知參數(shù):n(觀測值數(shù))r(條件方程個數(shù))A(條件方程系數(shù)矩陣,大小r*n)W(條件方程自由項向量,大小r*1)P(觀測值權陣簡化為對角數(shù)組)需要求解的參數(shù):V(觀測值平差值向量,大小n*1)u(單位權中誤差)計算過程:1) 通過A、P計算2) 求的逆矩陣3) 計算平聯(lián)系數(shù)向量 4) 計算單位權中誤差 2. 代碼 文件“” “”同上; 文件“”: include iostreaminclude cmathinclude iomanipinclude using namespace std。mat mat_cul。void condition(int n, int r, double A[], double W[], double P[], double V[],double amp。u){ int i,j,k。 double *AQAT = new double[r*(r+1)/2]。 //法方程系數(shù)陣 for(i=0。 ir。 i++) { for(j=0。 j=i。 j++) { AQAT[(i,j)] = 0。 for(k=0。 kn。 k++) AQAT[(i,j)] += A[i*n+k]*A[j*n+k]/P[k]。 } } //系數(shù)陣求逆 if((AQAT,r) == false) return 。 double *K = new double [r]。 for(i=0。 ir。 i++) { K[i] = 。 for(j=0。 jr。 j++) K[i] = AQAT[(i,j)]*W[j]。 } //計算V double pvv = 0。 for(i=0。 in。 i++)
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1