测绘程序设计课程实习报告

测绘程序设计课程实习报告

ID:9937045

大小:343.00 KB

页数:44页

时间:2018-05-16

测绘程序设计课程实习报告_第1页
测绘程序设计课程实习报告_第2页
测绘程序设计课程实习报告_第3页
测绘程序设计课程实习报告_第4页
测绘程序设计课程实习报告_第5页
资源描述:

《测绘程序设计课程实习报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、测绘程序设计课程实习报告一、实习目的巩固之前所学的c++类定义、文件操作等各方面知识,掌握矩阵计算的基本算法,熟悉并熟练运用平差模型,掌握测量平差的基本原理和公式,并处理测量观测数据。二、实习内容该课程的实习主要为c语言及c++编程基础,矩阵操作算法,条件平差,间接平差,以及在水准网平差中的应用。三、实习过程(一)实习1(文件的基本操作以及角度、弧度的转化)1.准备C++文件操作函数包含于头文件,一般情况下使用即可。在计算过程中需要文件输出格式控制,函数包含于

2、。c++的流操作函数包含于,相应的流函数在命名空间“std”。角度转弧度的过程中,首先判断正负,对符号进行不同情况的处理。将度数的分,秒位分别除以60、3600,然后把得到的结果与度位绝对值相加,判断符号。弧度转角度的过程中,同样判断正负,取小数位乘以60取整数得到相应角度的分,再取剩余的小数乘以60即得到相应角度的秒。44/441.代码#include#include#include#includeusingnamespacestd;constdoublepi=3

3、.14159;intmain(){fstreamfile("a.txt");//定义文件操作对象stringaa;file>>aa;cout<>a1;cout<<"输入分"<>a2;cout<<"输入秒"<>a3;cout<<"角度为"<

4、″"<=0)//判断输入度数的正负deg=a1+a2/60+a3/3600;else44/44deg=a1-a2/60-a3/3600;doubleradian;    radian=deg/180*pi;cout<<"转换得弧度为"<>radian;    booltm=0;deg=radian*180/pi;if(deg<0)    {tm=1;deg=-deg;    }a1=int(deg);a2=int((d

5、eg-a1)*60);a3=((deg-a1-a2/60)*3600);if(tm==1){a1=-a1;tm=0;}cout<<"转换后角度为"<

6、1.准备在误差检验、粗差探测等平差计算中经常需要计算某些特定分布函数的反函数值,为满足计算需要,使用CProbability类对相关计算进行封装。2.代码及运行结果与书上相同。(二)实习3(矩阵基本运算)1.准备矩阵的运算有加法、减法、乘法、转置、求逆,封装在一个类中。为了方便之后的计算与使用,类中还添加了从文件中读入矩阵、输出矩阵,向控制台输入输出矩阵的函数。代入运算的矩阵均用动态的一维数组表示。先定义double型指针,在确定矩阵大小后动态申请空间,row行col列的矩阵定义为:double*mat=newdouble[row*col];第i行j列的

7、元素为mat[i*col+j]。44/44矩阵的加法、减法只需遍历两个矩阵的每个元素,相加之后放到结果矩阵中(如有必要先判断相加的两矩阵行数与列数是否相等)。乘法计算中设相成的两个矩阵mat1、mat2的行列分别为row1、col,col、col2,则所求结果矩阵第i行j列的元素用三个循环即可计算矩阵中所有的元素。矩阵转置将结果矩阵中的i行j列元素赋值为需要计算的矩阵中的j行i列个元素即可。矩阵求逆,由于平差计算中需要求逆的矩阵一般为实对称正定矩阵,为了提高大型矩阵的计算效率,可以使用对实对称正定矩阵求逆的方法。设C为n阶对称正定矩阵,y、x为n维向量,

8、其关系式为:y=C·x(3-1)确定了上的一个映像,如能写出逆关系:x=B·y(

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

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

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