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

正文內容

導線平差的程序設計與實現(xiàn)-畢業(yè)論文-資料下載頁

2025-06-27 14:04本頁面
  

【正文】 式=TRANSPOSE(MMULT(MMULT(O31:W39,K12:M20),O51:O53)),然后按[Ctrl]+[Shift]+[Enter],計算結果VT自動顯示在相應的單元格中,最后在單元格O58中輸入=SQRT(MMULT(MMULT(O55:W55,O21:W29),TRANSPOSE(O55:W55))/3),得到單位權中誤差 =177。4 導線網(wǎng)的間接平差程序設計與實現(xiàn) 在數(shù)據(jù)處理程序中,經(jīng)常需要用到矩陣的基本計算,包括矩陣的乘積、轉置、求逆等。在測量數(shù)據(jù)處理中,還需要用到一些具體的、有規(guī)律和統(tǒng)一的矩陣計算。在此,為程序簡單起見,我們用C語言的數(shù)組表示矩陣,定義矩陣的最大維數(shù)為MAX(定義矩陣存儲空間大?。瘮?shù)中對同類計算使用C++重載的概念進行處理,從而使程序清晰、應用方便。 矩陣相乘包括兩個矩陣的乘積和數(shù)乘矩陣兩個方面的內容。(1)基本矩陣相乘定義函數(shù)為void AXB(double A[][MAX],double B[][MAX],double C[][MAX],int m,int n,int k)。其中:MAX為預定義的矩陣最大維數(shù)。應用舉例: double S[MAX][MAX],H[MAX][MAX],T[MAX][MAX]。 //定義矩陣,注意維數(shù)必須與函數(shù)定義相統(tǒng)一 // 對S與H矩陣賦值 AXB(S,H,T,3,4,5);上式計算:(2)數(shù)乘以矩陣 定義函數(shù)為:void AXB(double a,double A[][MAX], double aA[][MAX],int m,int n)。 應用舉例:double S,H[MAX][MAX],T[MAX][MAX]。 //定義矩陣,注意維數(shù)必須與函數(shù)定義統(tǒng)一 // 對S與矩陣H賦值 AXB(S,H,T,4,5);上式計算:(3)矩陣乘以列向量 定義函數(shù)為:void AXB(double A[][MAX],double B[][1],double C[][1],int m,int n)。應用舉例:double S[MAX][MAX],H[MAX][1],T[MAX][1]。 //定義矩陣,注意維數(shù)必須與函數(shù)定義統(tǒng)一 // 對S與H矩陣賦值 AXB(S,H,T,4,5);上式計算:(4)行向量乘列向量 定義函數(shù)為:double AXB(double A[1][MAX],double B[MAX][1],int m)。應用舉例:double S[1][MAX],H[MAX][1],T。 //定義矩陣,注意維數(shù)必須與函數(shù)定義統(tǒng)一 // 對S與H向量賦值 T=AXB(S,H,4);上式計算:(5)行向量乘矩陣 定義函數(shù)為:Void AXB(double A[1][MAX],double B[MAX][MAX],double C[1] [MAX],int m,int n)。應用舉例: double S[1][MAX],H[MAX][MAX],T[1][ MAX]。 //定義矩陣,注意維數(shù)必須與函數(shù)定義統(tǒng)一 // 對S與H矩陣賦值 AXB(S,H,T,4,5);上式計算:(1)法方程系數(shù)陣計算ATPAvoid ATPA(double A[][MAX],double P[][MAX],double ATPA[][MAX],int m,int n)。(2) VTPV的計算double VPV(double V[][1],double P[][MAX],int m)。(3)ATPL的計算void ATPL(double A[][MAX],double P[][MAX],double L[][1],double ATPL[][1],int m,int n)。下面給出矩陣轉置的重載形式,分別完成矩陣與向量的轉置:void AT(double A[][MAX],double AH[][MAX],int m,int n)。 // 矩陣轉置void AT(double A[][1],double AH[][MAX],int m)。 // 列向量轉置為行向量void AT(double A[][MAX],double AH[][1],int m)。//行向量轉置為列向量 定義函數(shù)為:int inverse(double C[][MAX],double B[][MAX],int n)。需要注意的是,一個矩陣不一定可以求逆,當一個矩陣不滿秩時,其逆陣不存在。所以,在此定義函數(shù)返回值為int類型(當然也可以定義為bool類型),用來作為矩陣是否可逆的標志。矩陣可逆返回1,不可逆返回0,這一點在應用時應當特別注意。應用中,經(jīng)常需要及時看到程序的運行過程,所以需要屏幕顯示相關矩陣,在此給出顯示矩陣及列向量的方法。void matdis(double A[][MAX],int n,int m)。void matdis(double A[][1],int n)。在計算過程與結果文件保存中,也經(jīng)常需要保存矩陣,在此給出向文件流保存矩陣和列向量的函數(shù)。其中,out 為輸出文件流ofstream 的一個對象。void matout(double A[][1],int n,ofstream out) // 向文件輸出列向量void matout(double A[][MAX],int n,int m,ofstream out) // 向文件輸出矩陣double setf(double a, int t);// t為需要保留的小數(shù)位數(shù),返回值為的四舍五入后的值。C/C++程序設計中,關于角度的計算以弧度制為單位,而在測量以及具體工作中我們通常習慣以角度制為單位。這樣,在數(shù)據(jù)處理中,經(jīng)常需要在角度制與弧度制之間進行相互轉化。這里,我們利用C/C++。這里,我們使用double類型數(shù)據(jù)表示角度制數(shù)和弧度制數(shù)。例如:,其中分、秒根據(jù)小數(shù)位確定。在角度制與弧度制的轉化中。度弧度 角度制與弧度制的轉化double d_h(double angle) //角度化弧度{ double a,b。 angle=modf(angle,amp。a)。//a 為提取的度值(int類型),angle為分秒值(小數(shù)) angle=modf(angle*,amp。b)。 // b為提取的分值(int類型),angle為秒值(小數(shù)) return (a+b/+angle/)*(PI+)/。}double h_d(double angle) //弧度化角度{ double a,b,c。 angle=modf(angle*(),amp。a)。 angle=modf(angle*,amp。b)。 angle=modf(angle*,amp。c)。 return a+b*+c*+angle*。}其中,函數(shù)modf(angle,amp。a)為C語言數(shù)學庫函數(shù),返回值有兩個,以引用類型定義的a返回angle的整數(shù)部分,函數(shù)直接返回值為angle的小數(shù)部分。為使數(shù)據(jù)簡潔,定義了相關結構表示測量中的具體概念。在平面網(wǎng)中,定義了控制點以及觀測值結構。測量正算在此用于控制點近似坐標的計算。下面是兩個結構體,:XYP //平面點結構obser // 觀測值結構int zheng(obser amp。a)(1)反算距離 double dist(XYP amp。a,XYP amp。b) (2)反算方位角double afa(XYP amp。a,XYP amp。b) 在平面網(wǎng)間接平差計算中,近似坐標計算是非常重要的一項基礎工作。近似坐標是否計算成功是間接平差是否可以進行的必要條件。已知條件:兩個點的近似坐標,這兩個點到未知點的方位角, 兩方向交會,設,則很容易寫出 整理該式,得兩方向交會的的計算公式 ()對()式計算,即可得到未知點的近似坐標。應用中需要注意的是,若兩方向值相同或相反,則該式無解。程序中,定義該問題的函數(shù)為:int xy0ang(obser amp。a1,obser amp。a2),為排除兩邊長交會的二義性,給出如下三邊交會的模型,已知條件:三個點的近似坐標,這三個點到未知點的距離測量值。 三邊交會對每條邊長測量值,可列出邊長條件 計算上式中(a)與(b)和(c)三式的差,消去未知參數(shù)的平方項,整理得三邊交會的計算公式 ()對()式計算,即可得到未知點的近似坐標。應用中需要注意的是,若三點位于同一條直線,則該式無解。程序中,定義該問題的函數(shù)為:int xy0dist(obser amp。a,obser amp。b, obser amp。c)。 使用測量正算公式計算控制網(wǎng)的近似坐標。程序中,定義該問題的函數(shù)為:int zheng(obser amp。a) 使用測量后方交會計算公式計算控制網(wǎng)的近似坐標。程序中,定義該問題的程序函數(shù)為:int houj(obser amp。a,obser amp。b, obser amp。c)無定向導線,主要應用于計算已知控制點不相鄰的三角網(wǎng)的近似坐標?;舅枷霝椋合扔梢粋€已知點開始,假設一條邊的邊長與方位角,根據(jù)三角網(wǎng)的角度觀測值推算其它邊的邊長與方位角,然后,由任一導線計算,直到計算至另一個已知點為止。假設導線的起點為A,終點為B。這時,計算出的B點坐標必然與已知坐標不同,設A與B的已知坐標為(),B點的計算坐標為B’(),則用這些數(shù)據(jù)可以計算邊長的放大系數(shù)k和假設方位角的改正數(shù)da 其中,為計算方位角的函數(shù)。這時,對網(wǎng)中的假設邊長和所有由假設邊長推算的近似邊長進行k倍的放大,對假設方位角和所有由假設方位角推算的近似方位角進行方位角改正。然后應用坐標正算法可以計算三角網(wǎng)中所有點的近似坐標。平面控制網(wǎng)是為獲得地面點的二維坐標(X,Y/B,L)而布設的水平控制網(wǎng)。經(jīng)典的平面控制網(wǎng)包括三角網(wǎng)、邊角網(wǎng)和測邊網(wǎng)三種類型。本節(jié)主要介紹邊角網(wǎng)平差的問題。眾所周知,平面網(wǎng)的外業(yè)觀測值涉及到基準的問題。如大地水準面上的角度和方位角,大地水準面上的邊長(空間距離)。大地測量控制網(wǎng)坐標一般采用高斯投影平面坐標或地理坐標,這就涉及到平差的基準面問題,當采用高斯坐標系時,其平差基準面為高斯平面;而采用地理坐標時基準面為橢球面。平差計算采用高斯平面或者橢球面進行在理論上是統(tǒng)一的。采用高斯平面進行平差計算,公式簡單,其缺點是在跨投影帶時,由于坐標系統(tǒng)不同,必須進行坐標系的相互轉化。采用橢球面平差,方程式形式及解算繁瑣,但邏輯相同,優(yōu)點是誤差方程處處相同,規(guī)律性強,有利于程序設計,可以用來處理大規(guī)??刂凭W(wǎng)的計算。通常對于中小規(guī)模的控制網(wǎng),采用高斯平面平差;對于如一個國家等大規(guī)模網(wǎng)采用橢球面平差。為方便學習,本章采用高斯平面平差。當然,由于控制網(wǎng)的觀測基準面與計算基準面不同,在平差時,存在由觀測基準面(大地水準面)向計算基準面(高斯平面或者橢球面)的基準面轉化問題。本章假設觀測值的基準面已經(jīng)完成轉化工作。在此,為方便程序設計,也采用對已知點設立未知參數(shù)的的極大權方法。在方向平差時,每個測站的誤差方程中僅出現(xiàn)本測站的定向角未知數(shù),它的系數(shù)為1,相對于觀測方向誤差方程的同名坐標未知數(shù)的系數(shù)相同。(1)史萊伯法則史萊伯根據(jù)定向角未知數(shù)的性質,提出在組成法方程之前消去定向角未知數(shù),合并相對方向的誤差方程的兩個法則。這兩個法則叫做史萊伯法則。這兩個法則可以減少組成和解法方程的工作量。(2)設置未知數(shù)史萊伯法則的缺點在于程序設計比較復雜。在此,我們將測站的定向角未知數(shù)作為未知參數(shù)同未知坐標同時計算。:(1)控制網(wǎng)數(shù)據(jù)輸入;(2)近似坐標計算;(3)構成誤差方程;(4)法方程的處理;(5)精度評定。(1)方向觀測值誤差方程設Lki為k點至i點的方向觀測值,則k,i方向的誤差方程為 ()其中, () ()為第k測站的定向角近似值(),也就是一個測站觀測零方向(起始方向)的近似方位角,為第k測站的定向角未知數(shù)的改正數(shù)。設全網(wǎng)共有t個點,m個測站,則全網(wǎng)共有2t+m個未知參數(shù)。令 則()式可以寫成 () (2)邊長觀測值誤差方程設lki為k點至i點的邊長觀測值,則k,i方向的誤差方程為 ()其中, () 顯然,()式也可以寫成()的形式。(3)方程組設全網(wǎng)共有n=n1+n2個觀測值,寫出所有觀測值誤差方程,則構成誤差方程組: ()已知邊長和已知方位角如同已知控制點的坐標一樣是固定數(shù)據(jù),
點擊復制文檔內容
物理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1