版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
测绘程序设计课程实习报告一、实习目的》课程后将测量平差和计算机程序设计等课程的综合实践与应用的一门课程。其目的是在我们学习过平差这门课后增加我们对误差理论与测量平差根底理论C++语言,使平差理论与计算机结合起来,将主要的工作岗位打下了肯定的根底。二、实习内容本课程要求我们娴熟运用测量平差的根本公式与计算方法和拥有根本的要求由简至繁完成以下程序。〔一〕角弧之间的相互转化及其转化精度。〔二〕文件的读入输出序时进展输入,同时在程序运行后结果自动生成文件保存。〔三〕概率运算B〔四〕矩阵运算决根本运算问题。〔五〕条件平差与间接平差序计算条件平差与间接平差〔二者具有肯定相像度〕。〔六〕水准网平差差,再在其根底上编写一般形式具有广泛应用的一般程序。在将以上根本任务都完成之后还可以进一步编写GPS向量网等。三、实习过程〔一〕角弧之间的相互转化编程思路:首先在头文件中要注明#include<cmath>保证程序中的数学运算合理,然后建立一个角度是否合理推断的函数,在其中将角度的度、分、秒分别用三个double型变量abc30°66´27“31°6´27“以及角度的正负。然后在主函数中选择进展角度转化为弧度或弧度转化为角度,再输入数值时,为了使接下来的运算能够计算正确,假设输入复制现将负值提出flag=(a<0.0)?-1.0:1.0,其中a为角度中的度数,在程序全部计算都运行完毕后在加上其负值-1θ=L×180÷πθ为角度,L为弧度。在角度化弧度中表示为L=(a+b/60.0+c/3600.0)/180.0*s*4*atan(1),在弧度化角度中表示为m=L*180/(4*atan(1)m为将度分秒化为度的形式,在利用取整’/’m化为度分秒的形式。计算结果:〔二〕文件的读入输出编程思路:进展操作可随时进展数据更换。在角弧相互转化程序的根底上进展更编在原本输入角度和弧度地方使用文件操作,首先在头文件处要标明#include<fstream>,使我们对程序进展文件操作时的行为合法,在进展翻开文件处写上ifstreaminfile(“jiao.txt“),括号中要翻开的文件名称和格式为txt,并且用if(!infile)推断文件是否成功翻开了,成功翻开后,并且在程序完毕时要关闭读入的文件infile.close,解除该磁盘文件与文件流的关系就不能再通过文件流对文件进展输入或输出在输 出 计 算 结 果 到 文 件 中 时 写 为 ofstreamoutfile;outfile.open(“jiao_out.txt“);括号中的为文件输出后所在的文件文及其格式结果所在的文件可以在程序运行前就建好空白文件也可不建立,在程序运行后会自动生成一个如括号里写的文件。后,其结果可以更好的保存,输入数据时更便利,而程序更具有一般性。计算结果:〔三〕概率计算编程思路出操作和函数的调用练习,将数据输入到程序中求得结果。计算结果:〔四〕矩阵运算在程序中矩阵要依靠创立动态数组来表示,创立动态数组是为了储存未知组来表示矩阵的方法有很多例如将二维数组作为一维数组储存本次程序编译就承受了这种方法将矩阵表示为:double*P=newdouble[n];Pn组。delete将动态安排建立的对象删除,从而释放空间。除了这种方法之外,还可以直接定义二维数组,或调用函数创立来表示矩阵。2.矩阵的运算〔1〕矩阵加法与减法矩阵的加法与减法相像,比较简洁。首先还是要进展文件操作,读入两个if(p!=n*m||k!=n*m),假设是行列数不相需要返回指针。矩阵乘法矩阵的乘法比起矩阵的加减法要稍稍有一点难度,由于其根本要求是第一n×mAp×qBm是否与其次个矩阵pC0。数组C的第i行第j列的元素值等于数组A的第i行元素与数组B的第j*(C+i*m+j)+=(*(A+i*m+k))*(*(B+k*q+j));这里运用了多for矩阵的转置矩阵的转置表达较为简洁,进展文件操作,读入两个矩阵的数值,定义一针。矩阵求逆函数中矩阵的存储是仅存下三角矩阵元素。对称正定矩阵求逆An×nˉ。矩阵求逆分一般分式如下:a’ =1/an-1,n-1 0,0a’ =-a/a(j=1,2,...,n-k-1)n-1,j-1
0,j
0,0a’ =a/a(j=n-k,n-k+1,...,n-1)n-1,n-1 0,j 0,0a’ =a-a
a/a
(i=1,2,..,n-1;j=1,2,...,n-k-1)i-1,n-1
0,i
0,j
0,0a’ =a-a
a/a
(i=1,2,..,n-1;j=n-k,n-k-1,...,n-1)i-1,n-1
0,i
0,j
0,01.计算结果:〔五〕条件平差与间接平差间接平差⑴公式及算法:间接平差与条件平差有肯定的相像度间接平差法〔参数平差法〕是通过t出参数的最或然值,从而求得个观测值的平差值。间接平差的函数模型为:L=F(X);X=X0+x;随机模型:D=σ2Q=σ2P-10 0误差方程:V=Bx-L;法方程:BTPBx-BTPL=0;VTPVn-t法方程解:x=〔BTPB〕-1BVTPVn-tBt×nPn×nL、x、Vn×1⑵编程思路:间接平差的程序编译与条件平差有相像之处,尤其是主函数之前的之前的transpose,和矩阵求逆是完全一样的。QXXJJtxt文档中的B,P,L的multipytransposeB、P、LBTPL;数组Bt*n,数组Pn,数组Ln,所以从文本中直接读入的三个矩阵还不能直接进展运算,为了进展运算我们要将P变化一n*nBTPBBTPL,然后调用矩阵求逆函数BTPB〔BTPB〕-1;由QXXJJ单位权中误差μXσ=μj Xj
其中开根sqrt函数求得。⑶计算结果:条件平差⑴公式及算法:rVᵀPV=min,依据求函数的条件极值的方法,求出观测量的改正数V,进而求出观测的最或然值〔平差值〕,条件方程个数等于多余观测数r=n-t,nt观测数。条件平差中设条件方程式为BV+W=0;〕;Br×n阶系数矩阵;〔r为条件方程个数〕;Wr维条件方程自由向量;有最小二乘法可得联系数法方程为BPˉ¹BᵀK+W=0;P为观测值的权矩阵并设观测值独立,P为对角矩阵,数组长度为n;K为联系数向量,K=-〔BPˉ¹Bᵀ〕W;法方程:BPBTK+W=0;随机模型:D=σ2Q=σ2P-10 0改正数向量V=Pˉ¹BᵀK;VTPVrVTPVr观测值平差值的权逆阵QL=Pˉ¹-Pˉ¹Bᵀ〔BPˉ¹Bᵀ〕ˉ¹BPˉ¹;⑵编程思路:首先,在程序头文件处广泛定义一个N在下面程序中都为一个其确定的函数multipy,将矩阵用一维动态数组表示出来,a3[i*r+x]+=a1[i*q+j]*a2[j*r+x]fora1[i*m+j]=a[j*n+i];矩阵求逆的程序是查找资料找到的一段固定代码。在主函数中首先利用动态数组定义B,W,Q,P,然后进展文件操作进展数据的输入,文件中已经写好的矩阵元素一一对应输入,开头计算,首先调用multiplyAQ,在调用transposeAA进展求逆,然后前两项计算得AQAˉ¹,再与W相乘算出K=—〔AQˉ¹Aᵀ〕W,再调用乘法及转置函数计算V=Qˉ¹AᵀK,VᵀPV求得中误差μ。for循环⑶计算结果:〔六〕水准网平差1.公式及算法:P、Ltxt据是最原始的数据。水准网的原始数据内容分为网的概况、数据、观测数据三局部。〔在txt文本中以上数据放在一行中〕个点和它的高程值占一行〕〔在txt文本中点名包含字符串所以不能用空格〕依据最原始的数据,将误差方程式的系数阵B、常数项L以及权阵P求出,组成误差方程式V=Bx+L;之后几步同间接平差一样单位权中误差μ,求得某参Xj的中误差σXj=μQXJXJ,然后求观测值改正值VL=L0+v,2.编程思路:在水准网平差中还是要运用矩阵运算,矩阵的运算在前几次实习中已经编一般格式定义函数的重载在本程序当中进展文件读取操作比起之前的操作变得简单很多。定义double定义长度为动态字符串一维数组 string**A=newstring*[yy];存储读入点矩阵的点号与高程,利用两段for循环来实现,依次读入点名与高程。高程。定义一段的动态字符串数组string **AA=newstring定义一段的动态字符串数组string **AA=newstring*[m];存储读入未知点矩阵的点号与高程存储起点名,定义长度为n的string **XX=newstring*[n];存储未知点号。BBn×r〔n先将点的点名存储到存放总点名的字符串数组中,先初始化系数矩阵A[m][n]为0矩阵;然后掌握循环条件,依次输入各段水准路线的起点、终点;依次推断各水准路线的起点、终点在矩阵 A 中的位置,在计算B时利用if(AA[i][0]==A[j][0]||AA[i][1]==A[j][0]);推断是否有点;if(AA[i][0]==A[j][0]||AA[i][1]==A[j][0]);推断是否有点;B-1,当终点是未知点时,即其系数为B-1,当终点是未知点时,即其系数为1,B矩阵的其他元素赋值为0.求常数项矩阵L:v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季开学高中开学第一课(科学家精神)课件
- 2026年秋季开学初中开学第一课(交通安全)课件
- 2026年秋季开学高中火场逃生技巧课件
- 房屋带宠物饲养租赁合同 猫狗饲养责任划分完整版
- 政治试卷四川遂宁市高中2026届高二第四学期期末教学水平监测(7.7-7.9)
- 耐心资本的培育路径与运行机制研究
- 数据资产入表设计模板构建与实践
- 数据驱动组织变革的关键成功因素与实施路径
- 数字化技术在供应链弹性强化中的应用路径优化
- 人工智能助力企业盈利预测创新探索
- 2026年澜沧现代农业发展集团有限责任公司社会招聘(5人)考试备考题库及答案详解
- DL-T 5220-2021《10kV及以下架空配电线路设计规范》
- 2026年重庆市“五方面人员”选拔乡镇领导班子考试历年参考题库(含完整答案)
- 2026年上海高考英语考试试题(含答案)
- 2026年高考四川卷化学高考真题试题(含答案)
- 安全生产事故案例警示课件
- QC/T 1258-2025汽车用蜗杆传动式软管夹箍弹簧内衬补偿型
- 患者健康教育方法及技巧
- T/CECS 10214-2022钢面镁质复合风管
- 急诊科转诊制度
- DL∕T 5776-2018 水平定向钻敷设电力管线技术规定
评论
0/150
提交评论