测绘程序设计

测绘程序设计

ID:22379798

大小:296.60 KB

页数:14页

时间:2018-10-28

测绘程序设计_第1页
测绘程序设计_第2页
测绘程序设计_第3页
测绘程序设计_第4页
测绘程序设计_第5页
资源描述:

《测绘程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、测绘程序设计课程实习报告一、实习目的《测量平差程序设计》是在我们学习了专业基础课《误差理论与测量平差基础》课程后将测量平差和计算机程序设计等课程的综合实践与应用的一门课程。其目的是在我们学习过平差这门课后增强我们对误差理论与测量平差基础理论的理解,巩固已掌握的测量平差的基本原理和基本公式以及计算方法,熟悉测量数据处理的基本技能,培养我们正确应用公式、综合分析问题和解决问题的能力,并能能够熟练运用所学过的C++语言,使平差理论与计算机结合起来,将主要的条件平差、间接平差以及水准网平差计算方法过程编写成一般形式的程序用于数据处理,灵活准确的应用于解决各类数据处理

2、的实际问题当中,为我们今后步入工作岗位打下了一定的基础。二、实习内容本课程要求我们熟练运用测量平差的基本公式与计算方法和拥有基本的C++编程能力,以自由组成3-4人小组的方式共同学习,在老师的指导下能够按照要求由简至繁完成以下程序。(一)角弧之间的相互转化复习基本的C++内容、程序结构及编写方法,保证任意角度弧度之间可转化及其转化精度。(二)文件的读入输出在程序外部建立文本文档输入数据使程序具有一般性并且不需要在执行程序时进行输入,同时在程序运行后结果自动生成文件保存。(三)概率运算根据已知题目以及程序进行加以更改调试,建立文本文档读入文件计算标准正态分布函

3、数、B分布的分布函数等概率函数。(一)矩阵运算实现矩阵的基本加、减、乘、转置及求逆运算,为接下来平差运算程序解决基本运算问题。(二)条件平差与间接平差利用之前以编写过的基本程序,以及平差的公式与算法,根据例题编写程序计算条件平差与间接平差(二者具有一定相似度)。(三)水准网平差首先利用已知的例题以及水准网计算公式和算法编写特殊可解的水准网平差,再在其基础上编写一般形式具有广泛应用的普通程序。在将以上基本任务都完成之后还可以进一步编写GPS向量网等。三、实习过程(一)角弧之间的相互转化1.编程思路:首先在头文件中要注明#include保证程序中的

4、数学运算合理,然后建立一个角度是否合理判断的函数,在其中将角度的度、分、秒分别用三个   double型变量a、b、c表示,将输入或计算出的角度改正成合理的形式(分和秒都小于60大于0),如将30°66´27"化成31°6´27"以及角度的正负。然后在主函数中选择进行角度转化为弧度或弧度转化为角度,再输入数值时,为了使接下来的运算能够计算正确,如果输入复制现将负值提出flag=(a<0.0)?-1.0:1.0,其中a为角度中的度数,在程序所有计算都运行完毕后在加上其负值-1,角弧转化最根本的是利用公式θ=L×180÷π,其中θ为角度,L为弧度。在角度化弧度中

5、表示为L=(a+b/60.0+c/3600.0)/180.0*s*4*atan(1),在弧度化角度中表示为m=L*180/(4*atan(1)),其中m为将度分秒化为度的形式,在利用取整’/’将m化为度分秒的形式。2.计算结果:(二)文件的读入输出1.编程思路:文件可在计算机外部储存,且能长期保存可读取,也可重新刷写,对文件进行操作可随时进行数据更换。在角弧相互转化程序的基础上进行更编,在原本输入角度和弧度地方使用文件操作,首先在头文件处要标明#include,使我们对程序进行文件操作时的行为合法,在进行打开文件处写上ifstreaminf

6、ile("jiao.txt"),括号中要打开的文件名称和格式为txt,并且用if(!infile)判断文件是否成功打开了,成功打开后,并且在程序结束时要关闭读入的文件infile.close(),解除该磁盘文件与文件流的关系,就不能再通过文件流对文件进行输入或输出。在输出计算结果到文件中时写为ofstreamoutfile;outfile.open("jiao_out.txt");括号中的为文件输出后所在的文件文件名及其格式,结果所在的文件可以在程序运行前就建好空白文件,也可不建立,在程序运行后会自动生成一个如括号里写的文件。其他程序具体操作不进行任何改变,

7、但将输入数值改换为文件的输入输出后,其结果可以更好的保存,输入数据时更方便,而程序更具有一般性。1.计算结果:(二)概率计算1.编程思路根据已知的probability.cpp程序对照实际例题改编程序,进行文件输入输出操作和函数的调用练习,将已知数据输入到程序中求得结果。2.计算结果:(二)矩阵运算1.矩阵的表示方法在程序中矩阵要依靠创建动态数组来表示,创建动态数组是为了储存未知阶数m×n的二维矩阵,定义动态数组包含两个步骤:第一步,定义与数组元素类型相同的指针变量;第二步,申请内存并将内存地址赋给指针变量。用动态数组来表示矩阵的方法有很多例如将二维数组作为

8、一维数组储存本次程序编译就采用了这种方法将矩阵表示为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。