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

正文內(nèi)容

測繪程序設(shè)計(jì)課程實(shí)習(xí)報告-資料下載頁

2025-01-18 23:16本頁面
  

【正文】 utdata(char *fileName)//輸入原始數(shù)據(jù){ fstream in(fileName)。 innpNump_km。 t = pNump_k。 startP = new int[n]。//起點(diǎn)號 endP = new int[n]。//終點(diǎn)號 L = new double[n]。//觀測值 H = new double[pNum]。//高程值 S = new double[n]。//距離長度 P = new double[n*n]。//權(quán) B = new double[t*n]。 h = new double[n]。 Pname = new string[pNum]。 X = new double[t]。 V = new double[n]。 int i。 for(i=0。ipNum。i++) { Pname[i]=zz。//Getstationnumber函數(shù)根據(jù)Pname是否為空確定Pname[i]是否為點(diǎn)名 } string buffer。//臨時數(shù)組,保存從文件中讀到的點(diǎn)名 //讀取已知高程數(shù)據(jù) for(i=0。ip_k。i++) { inbuffer。 int bb = GetPNum(buffer)。 inH[bb]。 //coutHeight[y]。 } // 讀取觀測值數(shù)據(jù) for( i=0。in。i++) { inbuffer。//讀取起點(diǎn)名 startP[i] = GetPNum(buffer)。//獲取起點(diǎn)對應(yīng)的點(diǎn)號 inbuffer。//讀取終點(diǎn)名 endP[i] = GetPNum(buffer)。 inh[i]S[i]。//讀取觀測值高差及對應(yīng)的距離 } ()。 //cout1。 }//高程近似值計(jì)算void Clevel::calH(){ int i。 for(i=p_k。 ipNum。 i++) { H[i]=。 } int Hcount=0。//計(jì)算出近似高程的點(diǎn)數(shù) while(1) { for(i=0。in。i++) { int k1=startP[i]。 int k2=endP[i]。 if(H[k1] amp。amp。 H[k2]) { H[k2]=H[k1]+h[i]。 Hcount++。 } else if(H[k1] amp。amp。 H[k2]) { H[k1]=H[k2]h[i]。 Hcount++。 } } if(Hcount == t) break。 }}void Clevel::calB(){ int i,j。 for(i=0。 in*(pNump_k)。 i++) B[i] = 0。 for(i=0。in。i++) { for(j=0。j(pNump_k)。j++) { int k1=startP[i]。 int k2=endP[i]。 if(k1=p_k amp。amp。 k1=pNum ) B[i*(pNump_k)+k1p_k]=1。 if(k2=p_k amp。amp。 k2=pNum ) B[i*(pNump_k)+k2p_k]=1。 } } //輸出矩陣B coutendlB:endl。 for( i=0。in。i++) { for(int j=0。jpNump_k。j++) { coutB[i*(pNump_k)+j] 。 } coutendl。 }}void Clevel::calP(){ int i。 for(i=0。 in。 i++) { P[i]=m/S[i]。 } //輸出矩陣P coutendlP:endl。 for(i=0。 in。 i++) { coutP[i]endl。 }}void Clevel::calL(){ int i。 for(i=0。in。i++) { int k1=startP[i]。 int k2=endP[i]。 L[i]=h[i](H[k2]H[k1])。 } //輸出矩陣L coutendlL:endl。 for(i=0。 in。 i++) { coutsetiosflags(ios::fixed) setprecision(4)L[i]endl。 } }void Clevel::outputResult(){ cout中誤差: uendl。 cout觀測值改正數(shù):endl。 (n,1,V)。 int i。 for(i=0。 in。 i++) { cout改正后觀測值hi:h[i]+V[i]endl。 h[i] = H[i]+V[i]。 } coutendl。 for(i=p_k。 ipNum。 i++) { cout改正后高程值Pname[i]:H[i]+X[ip_k]endl。 }}void Clevel::calculataHBPL(){ calH()。 calB()。 calP()。 calL()。 } :include void main(){ Clevel l()。//建立對象之后又輸入文件名的數(shù)據(jù)計(jì)算結(jié)果 }3. 運(yùn)行結(jié)果 B:1 0 00 1 01 0 00 1 01 1 01 0 10 0 1P:L:中誤差: 觀測值改正數(shù):改正后觀測值h0:改正后觀測值h1:改正后觀測值h2:改正后觀測值h3:改正后觀測值h4:改正后觀測值h5:改正后觀測值h6:改正后高程值P1:改正后高程值P2:改正后高程值P3:Press any key to continue4. 出現(xiàn)的問題為了在計(jì)算高程點(diǎn)近似值時方便查找已知點(diǎn)點(diǎn)號,已知點(diǎn)高程與未知點(diǎn)高程在同一向量中,在調(diào)用未知點(diǎn)高程時數(shù)組下標(biāo)需要減去已知點(diǎn)個數(shù)。計(jì)算權(quán)陣時不能只是取對應(yīng)距離的倒數(shù),還要乘以文件中中誤差m。計(jì)算B、L時要注意對符號的處理。文件名作為函數(shù)參數(shù)時數(shù)據(jù)類型要用char* ,string,和數(shù)組的類型VC6都會報錯。在更為復(fù)雜的程序中,對B、L等矩陣可以使用私有成員定義,再定義公有函數(shù)GetB、GetL以便使用對象調(diào)用。四、實(shí)習(xí)總結(jié)通過此次的課程實(shí)習(xí),將之前所學(xué)的程序設(shè)計(jì)與測量平差知識相結(jié)合,運(yùn)用于實(shí)際的知識,加深了對這兩門課程的理解,更牢固的記住各種公式,同時復(fù)習(xí)了C++基礎(chǔ)知識,并學(xué)會了用c++語言對矩陣的各種操作。雖然c++的基礎(chǔ)相對較好,對基礎(chǔ)的文件操作、類等問題的解決沒有壓力,但到后面的矩陣運(yùn)算算法沒有過多接觸,從一維矩陣表達(dá)二維矩陣的計(jì)算過程中出了很多問題。隨著代碼越來越長,到了水準(zhǔn)網(wǎng)平差時使用了兩個類來封裝相應(yīng)的函數(shù),調(diào)試時出的問題很多。同時還熟悉了自己電腦用的vs2010和機(jī)房電腦VC6混在一起編程時可能發(fā)生的沖突,并用到matlab進(jìn)行計(jì)算過程的檢驗(yàn)。在學(xué)習(xí)測量平差時運(yùn)用得比較少,很多地方一知半解。通過此次的實(shí)習(xí)對很多細(xì)節(jié)上的地方有了更多的了解,對平差所需要的基本計(jì)算、各個矩陣從觀測數(shù)據(jù)中的提取等都有了更深的印象,對平差計(jì)算的過程、步驟更加清晰。實(shí)習(xí)過程中碰到過很多難以解決的問題,感謝網(wǎng)上的各種論壇以及老師、學(xué)長、同學(xué)們的指導(dǎo)。很多問題正因?yàn)楦鞣N指導(dǎo)建議才有了解決,并在各種交流中得到了更好的解決方法。這次課程實(shí)習(xí)完全采用上機(jī)的辦法,讓基礎(chǔ)不同的同學(xué)都有所提高,一組的編程和平差基礎(chǔ)都很差的同學(xué)也獨(dú)立寫出了自己的計(jì)算過程讓我們感到很驚訝。課程的評分方式感覺有時會出一些麻煩,比如一個組有三個編程比較好和努力的人,在最后組長評分時會出現(xiàn)一些麻煩,有時沒辦法會選擇三次檢查中每個人給出一個A。檢查的過程還是比較容易混過去,對于努力后能寫出程序而又不夠重視的同學(xué)促進(jìn)有點(diǎn)不夠。最后再次感謝老師、學(xué)長、同學(xué)們的指導(dǎo)和幫助! 44 / 44
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1