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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告(編輯修改稿)

2025-02-17 17:22 本頁面
 

【文章內(nèi)容簡介】 rix CMatrix::operator*(const CMatrixamp。 m){ assert(_column == ())。 CMatrix result(_row, ())。 for (int i = 0。 i _row。 i++) { for (int j = 0。 j ()。 j++) { double value = 。 for (int k = 0。 k getColumn()。 k++) // 這里之前出現(xiàn)了錯(cuò)誤 value += getValue(i, k) * (k, j)。 (i, j, value)。 } } return result。}CMatrix CMatrix::operator*(const doubleamp。 s){ CMatrix result(_row, _column)。 for (int i = 0。 i _row。 ++i) { for (int j = 0。 j _column。 ++j) { (i, j, getValue(i, j) * s)。 } } return result。}// 單目運(yùn)算符:取負(fù)CMatrix CMatrix::operator(){ CMatrix m(_row, _column)。 for (int i = 0。 i _row。 i++) { for (int j = 0。 j _column。 j++) (i, j, _A[i][j])。 } return m。}// 轉(zhuǎn)置CMatrix CMatrix::transpose(){ CMatrix m(_column, _row)。 for (int i = 0。 i _column。 i++) { for (int j = 0。 j _row。 j++) { (i, j, getValue(j, i))。 } } return m。}// 矩陣求逆(列主元素法)CMatrix CMatrix::inverse(){ assert(_row == _column)。 CMatrix NXW(_row, _row * 2)。 // 設(shè)置NXW的值 for (int i = 0。 i _row。 i++) { for (int j = 0。 j _row * 2。 j++) { if (j _row) (i, j, getValue(i, j))。 else { if (i == (j _row)) (i, j, )。 else (i, j, )。 } } } // 用高斯若當(dāng)消去法求解平面方程的系數(shù),只要對(duì)NTW進(jìn)行消去即可求得系數(shù) long kindex。 double mk。 // mk為列主元的值,kindex用于存儲(chǔ)列主元所在的位置(行) double aiitem。 // 用于尋找列主元時(shí)臨時(shí)存儲(chǔ)最大值 for (i = 0。 i _row。 i++) { // 選取列主元 mk = (i, i)。 kindex = 1。 for (int j = i + 1。 j _row。 j++) { if (fabs((j, i)) fabs(mk)) // 需要考慮絕對(duì)值得情形 { mk = (j, i)。 kindex = j。 } } // 列主元選取完成 // 交換行 if (kindex != 1) { for (int k = 0。 k _row * 2。 k++) { aiitem = (i, k)。 (i, k, (kindex, k))。 (kindex, k, aiitem)。 } } // 交換行完成 // 消去 for (int k = 0。 k _row * 2。 k++) (i, k, (i, k) / mk)。 // for ( k = 0。 k _row。 k++) { if (k == i) continue。 double tem = (k, i)。 // 因?yàn)镹XW[k][i]的值隨時(shí)變化,所以必須設(shè)置臨時(shí)變量以保持該值 for (int l = 0。 l _row * 2。 l++) { (k, l, (k, l) tem * (i, l))。 } } } CMatrix result(_row, _row)。 for (i = 0。 i _row。 i++) { for (int j = 0。 j _row。 j++) { (i, j, (i, j + _row))。 } } return result。}:圖類頭文件include vectorpragma warning(disable: 4786)include mappragma warning(disable: 4786)include iostreampragma warning(disable: 4786)include using namespace std。struct SGNode { int key。 // 結(jié)點(diǎn)自身標(biāo)識(shí) mapint, double neighNodes。 // 與當(dāng)前結(jié)點(diǎn)相鄰的結(jié)點(diǎn)集合,及其與相鄰結(jié)點(diǎn)之間路徑高差值}。class CMyGraph {public: CMyGraph(int numpoints,double **g)。 virtual ~CMyGraph()。public: //深度優(yōu)先遍歷 void DFS(int cloc,vectorCLevelPointamp。 lpvec,bool* visited)。 void DFS(int cloc,int zds,vectorCLevelPointamp。 lpvec)。private: vectorSGNode NodeSet。}。:圖類cpp文件include pragma warning(disable: 4786)include pragma warning(disable: 4786)CMyGraph::CMyGraph(int numPoints,double **g){ for (int i = 0。 i numPoints。 i++) //創(chuàng)建節(jié)點(diǎn) { SGNode sg。 = i。 (sg)。 } for (i = 0。 i numPoints。 i++) //鄰接點(diǎn)和高差值的輸入 { for (int j = 0。 j numPoints。 j++) { if (g[i][j] != 0) { NodeSet[i].(mapint, double::value_type(j, g[i][j]))。 } } } //初始化完成 }CMyGraph::~CMyGraph(){}void CMyGraph::DFS(int cloc,int zds,vectorCLevelPointamp。 lpvec){ bool* visited。 visited=new bool[zds]。 for(int i=0。 izds。 i++) visited[i]=false。 DFS(cloc, lpvec, visited)。}void CMyGraph::DFS(int cloc,vectorCLevelPointamp。 lpvec,bool* visited) //從頂點(diǎn)開始進(jìn)行深度優(yōu)先遍歷{ mapint,double::iterator iter1。 for(iter1=NodeSet[cloc].()。 iter1!=NodeSet[cloc].()。 iter1++) { if(visited[(*iter1).first]==false) { visited[(*iter1).first]=true。 /*vectorCLevelPoint::iterator iter3。 //+1,從lpvec中找出該點(diǎn) for(iter3=()。 iter3!=()。 iter3++) { if((*iter1).first+1==(*iter3)._index) { break。 } }*/ if(lpvec[(*iter1).first]._eleValue==0) //求未知點(diǎn)的高程 { lpvec[(*iter1).first]._eleValue=lpvec[cloc]._eleValue+(*iter1).second。 } DFS((*iter1).first,lpvec,visited)。 } }} 設(shè)計(jì)二:導(dǎo)線網(wǎng)平差程序的設(shè)計(jì)與實(shí)現(xiàn)一.設(shè)計(jì)目的立足于《數(shù)據(jù)結(jié)構(gòu)與測繪軟件開發(fā)》這一課程的課堂教學(xué)及實(shí)驗(yàn)課程設(shè)計(jì),為著實(shí)提高我們基于計(jì)算機(jī)輔助的方式解決工程實(shí)際問題的動(dòng)手能力,通過本次實(shí)習(xí),一方面我們深入了解了課堂所學(xué)知識(shí),另一方面,通過實(shí)踐掌握測繪行業(yè)軟件設(shè)計(jì)與開發(fā)的基本方法,深刻掌握矩陣運(yùn)算,曲線/曲面擬合的數(shù)值算法,掌握不同類型的典型測繪軟件的設(shè)計(jì)方法。使我們初步具備編寫測繪軟件常用算法的能力以及開發(fā)中小規(guī)模測繪專業(yè)軟件的能力。二.設(shè)計(jì)內(nèi)容 導(dǎo)線網(wǎng)如圖,觀測了14條邊長和16個(gè)轉(zhuǎn)折角,已知測角精度,測邊精度,已知A,B,C,D,E,F坐標(biāo),觀測數(shù)據(jù)和起算數(shù)據(jù)如下:對(duì)上述導(dǎo)線網(wǎng)進(jìn)行平差計(jì)算。3. 關(guān)鍵問題描述 未知點(diǎn)近似坐標(biāo)計(jì)算 根據(jù)導(dǎo)線網(wǎng)布設(shè)原理,未知點(diǎn)近似坐標(biāo)通過兩起算點(diǎn)構(gòu)成起算邊方位角,以及觀測邊長和觀測角從而解得坐標(biāo)增量△x和△y,通過起算點(diǎn)坐標(biāo)求得未知點(diǎn)近似坐標(biāo)。 ①設(shè)計(jì)觀測角度類和觀測邊長類,使用stl中的容器創(chuàng)建相應(yīng)動(dòng)態(tài)數(shù)組來保存導(dǎo)線網(wǎng)觀測量的相關(guān)信息。 vectorCJk _dxLSet。 //觀測邊長數(shù)組 vectorCJkh _dxASet。 //觀測角度數(shù)組 ②使用一個(gè)while循環(huán)對(duì)角度觀測數(shù)組_dxASet進(jìn)行多輪的遍歷。若當(dāng)前遍歷的角度觀測類對(duì)象相應(yīng)三個(gè)點(diǎn)編號(hào)的成員變量j,k,h其中j,k點(diǎn)已知(或近似坐標(biāo)已求解)且h點(diǎn)未知,則對(duì)h點(diǎn)進(jìn)行近似坐標(biāo)求解。 ③起算邊jk坐標(biāo)方位角由坐標(biāo)反算求得,與角度觀測值相加得到j(luò),h邊近似坐標(biāo)方位角,j,h邊邊長通過點(diǎn)的編號(hào)在邊長觀測數(shù)組_dxLSet中索引得到。坐標(biāo)增量通過下式進(jìn)行求解。 ④各導(dǎo)線點(diǎn)近似坐標(biāo)都已求解完畢,break跳出循環(huán)。 誤差方程列立按照間接平差原理,誤差方程的列立分為誤差方程系數(shù)矩陣列立和自由項(xiàng)列向量的求解。 1)誤差方程系數(shù)矩陣B的建立 對(duì)角度觀測類對(duì)象的動(dòng)態(tài)數(shù)組和邊長觀測類的動(dòng)態(tài)數(shù)組進(jìn)行遍歷①角度觀測部分:設(shè)置變量j,k,h保存角度觀測對(duì)象的成員變量_j,_k,_h。用導(dǎo)線點(diǎn)編號(hào)在導(dǎo)線點(diǎn)動(dòng)態(tài)數(shù)組中關(guān)聯(lián)到相應(yīng)導(dǎo)線點(diǎn)。對(duì)三點(diǎn)是否為起算點(diǎn)進(jìn)行討論通過下式確定誤差方程系數(shù): 系數(shù)輸入到矩陣相應(yīng)位置。②邊長觀測部分:設(shè)置變量j,k保存相應(yīng)端點(diǎn)編號(hào),對(duì)兩點(diǎn)是否為起算點(diǎn)進(jìn)行討論通過下式確定誤差方程系數(shù): 系數(shù)輸入到矩陣相應(yīng)位置。 2)自由項(xiàng)列向量l求解同樣遍歷角度觀測數(shù)組和邊長觀測數(shù)組,通過點(diǎn)的編號(hào)索引到相應(yīng)導(dǎo)線點(diǎn)對(duì)象,利用近似坐標(biāo)反算出邊長和兩邊夾角,分別求與觀測值的差值,形成行數(shù)為觀測值總數(shù),列數(shù)為1的矩陣L。由函數(shù)LMatrix()實(shí)現(xiàn)。同樣的,L陣和B陣的求解可以再同一個(gè)函數(shù)中進(jìn)行,所得另一個(gè)矩陣也可通過指針傳遞回去,但是在這里代碼并不復(fù)雜,對(duì)算法效率要求不高,分了使結(jié)構(gòu)更加清楚,使用兩個(gè)函數(shù)進(jìn)行相應(yīng)功能的實(shí)現(xiàn)。邊角網(wǎng)的定權(quán)涉及到邊角權(quán)的運(yùn)算,一般以測角中誤差作為單位權(quán)中誤差,測距中誤差由: 確定得到邊長觀測中誤差,相應(yīng)觀測邊的權(quán)按權(quán)的定義求解: 單位為mm2/″()函數(shù)實(shí)現(xiàn)。 法方程列立與解算 根據(jù)間接平差原理,列立法方程如下: ①B矩陣由平差計(jì)算類成員函數(shù)BMatrix()實(shí)現(xiàn); ②L陣由平差計(jì)算類成員函數(shù)LMatrix()實(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1