当前位置:文档之家› 边角三角网平差程序的设计书

边角三角网平差程序的设计书

边角三角网平差程序设计书一、课程设计的目的学生在学习完误差理论与测量平差基础、测量平差程序设计基础等课程的基础上,设计一个完整的测量数据处理程序,培养学生综合应用量数据处理与计算机应用能力,培养学生主动学习,创新设计能力。

二、课程设计的任务和内容1.课程设计任务:在两周的时间内应用者Matlab程序设计语言编制一个完整的边角网严密平差程序,要求有简易的界面,数据输入采用文本输入,采用间接平差模型完成平差的基本计算,能够画出控制网图,输出基本的计算结果,并根据设计过程完成设计报告。

程序设计主要内容包括:系统功能设计界面设计流程设计代码书写程序调试三、课程设计阶段准备阶段研究设计任务书,分析设计题目,熟悉原始数据,明确设计内容和要求;制定课程设计计划和进度。

熟悉算法模型阅读误差理论与测量平差基础教材,掌握平面控制网数据处理的数学模型,这里主要是指方向观测量、角度观测量、边长观测量的观测方程和误差方程的构成,研究平面观测数据的组织方法,设计Matlab算法,实现计算的自动表达。

功能设计阶段设计程序要实现的功能平差程序的基本功能包括数据的输入,平差计算,精度评定、成果输出等;4.流程和界面设计阶段根据平差计算的过程和程序功能,画出流程图,设计简易界面实现数据的输入和平差计算和成果输出。

在此基础上,根据功能要求,设计简便的界面。

5.代码书写和调试阶段按照计算流程图和界面设计,根据方向观测值,边长观测值的误差方程的组成,设计Matlab算法,实现误差方程的自动构成,分阶段书写代码,调试实现各个阶段的功能。

6.设计报告撰写阶段设计报告是对整个设计过程进行综合总结提高,内容包括课设的目的意义、程序设计的内容、算法设计、设计心得等根据设计过程和对测量数据处理以及程序设计的理解进行独立撰写。

四、组织方式进度安排以小组为单位,每小组5-6人,分工合作共同完成程序设计任务,时间两周,进度安排如下:五、考核与成绩评定考核内容根据考勤、课程设计报告、程序结构、程序代码进行综合评定。

成绩评定方法平时成绩20%,设计报告30%;程序代码50%(程序20%,运行正确30%),总评成绩分为优、良、中、差四个等级。

设计报告内容完整,图表清晰,代码书写规范,计算结果正确评为优秀。

六、参考文献:武汉大学测绘学院误差理论与测量平差基础 2009北京建筑工程学院测量平差计算自编资料 2011同济大学 Matlab 控制网测量平差 2006七、实习报告:目的与任务:目的:基于学过的测量平差理论的基础知识,在matlab中编写一个相对完整的数据平差处理程序,旨在让同学们能够将学到的平差理论知识和计算机的MATLAB软件程序编写有机地结合在起来,让同学在实践过程中更加深刻地理解理论知识并尝试去应用,由此提高每个人学生的思考和动手能力。

任务:主要任务就是在实习的两周时间内,分组完成一套完整的关于边角三角网的平差数据处理的matlab的程序代码编写与试调任务,其中主要包括:数据组织与输入、平差计算、精度评定,成果可视化、平差成果输出等。

然后小组上交一份实习总结和小组成员各上交一份个人总结(设计书及总结)。

算法与模型:算法:间接平差方法;模型:平面控制网中的边角三角网本次的平差数据处理是采用间接平差的方法(数学模型)而进行的,就三个待定点xy坐标改正数及涉及到的五个观测站的方位角改正数为未知数(11个),进行误差方程的编写和平差计算,精度评定等。

而实际应用是采用所提供的平面控制网中的边角三角网的平差数据模型,分别是就着边长观测量和方向角观测量的观测数据进行平差程序的编写。

程序功能设计:通过手动地选择数据文件,而后自动地对数据文件中涉及的变量进行赋值和所获得的数据的输出,而后通过实际情况分析得出需要进行平差计算和精度评定等的必要步骤,如本次数据平差的必要步骤就是待定点近似坐标的计算,紧接着就是误差方程的编写,包括系数矩阵和观测权阵的求得,而后就是利用最小二乘法的平差计算和精度评定,并且计算误差椭圆的参数和该椭圆的自动绘制,最后平差成果的输出。

分模块讲解:数据组织输入和变量赋值已知点坐标信息:包括已知点数n0,待定点数nd,点号名pn和已知点坐标xy0观测值精度信息:方向观测值精度md,边长观测值精度ma ,mb边长观测值信息:包括起点bf1, 终点bf2 ,边长观测值L2方向观测值:包括测站点df1 ,照准点df2, 方向观测值L1具体代码截图:待定点近似坐标的计算通过所提供的已知点坐标计算得出的已知方位角,在就方向观测值,求出其每一次观测的夹角,而后找出每个测站所拥有的已知点(一个观测方向的两个点)确定其所在观测的行数与其他待定点所在观测方向(必须有一个点是已知点)的关系,求出其他待定点所在观测方向的方位角(注意方位角是否合理问题),而后在边长观测值中找到对应的边长,利用极坐标法最终求得待定点的近似坐标。

x0y0. 同时还可以将近似坐标以文本的文件输出,计算代码截图如下:误差方程式组成本次平面控制网平差模型中观测量为方向观测量和边长观测量,未知数分为待定点坐标和定点角两类未知数,边角网误差方程的形式如下:方向观测量:误差方程:(系数为:b1,c1)式中常数项:变长观测量:误差方程:(系数为:b2,c2)其中误差方程的编写要注意两个问题:系数的位置确定和是否待定点的判断。

对于方向观测值,未知数不仅包括各待定点坐标(6个),同样包括各测站的定向角,在未知数排序中,定向角未知数在前,待定点坐标在后,则未知数个数为nz+2*nd=11,对于方向观测值,每一列与定向角对应的系数均为-1,与坐标对应的系数即每一列有5个系数(最多),其他系数均为0,及对应的系数矩阵的数值的确定(注意正负号)。

而对于边长观测值,每一列包括边的两个点的对应的改正数(如果两个点都是待定点的话)四个参数,其他均为0,同样还要注意系数的位置问题。

由于这里分别对方向观测量和边长观测量设置两个数组,分别存储系数阵常数项变量,这里设置b1 b2 c1 c2四个数组。

根据观测值序列和未知数序列确定系数矩阵中各元素的位置和大小;这里将误差方程构成设计成一个function函数文件,输入量为已知点信息,近似坐标,边长观测量,方向观测量,等输出量为误差方程系数,常数项。

代码编写截图:5.平差计算和精度评定本次平差的特殊就是结合两个误差方程的数据进行同时平差,具体步骤在得到误差方程的系数之后,根据方向观测值和边长观测值的初步计算观测值权阵(p1 p2),严格的精确计算可以采用方差分量估计方法精确计算方向和边长观测值的权。

在得到误差方程之后,可以直接利用矩阵进行方程组的解算(最小二乘法),误差方程分为方向观测误差方程,边长观测误差方程,两者可分别计算,然后再相加。

由于近似坐标不精确,在求取参数时,程序设置了迭代计算并确定终止条件,在改正数满足条件后,即可进行平差值计算和精度统计。

程序截图:6.误差椭圆参数计算参考书上的误差椭圆参数计算模型由于误差椭圆描述了点位精度及其在各个方向的分布,表示了网中点或点之间的误差分布情况,常用误差椭圆对布网方案做精度分析,误差椭圆三个参数为椭圆的长半轴E,短半轴F和主轴方向本次参数计算是通过单位权中误差,协因素阵,待定点的协方差阵等上一步平差得出的结果或推算结果,来进行误差椭圆确定。

代码截图:7.控制网图形绘制和误差椭圆绘制边角三角网控制网图形绘制主要考虑绘制控制网点位分布图,点位标注,边长观测量和方向观测量的绘制等。

基本思路是首先根据坐标绘制控制网散点图,并进行标注,然后根据距离观测值,方向观测值连线,构成完整的控制网图。

至于误差椭圆的绘制则是在控制网图的基础上再加上待定点对应的误差椭圆的绘制就完成了。

(利用Plot命令)其中有一个特别注意的地方就是参数的设置,要根据实际情况而定。

绘制代码截图:8.平面控制网成果输出以生成txt格式文档的形式进行成果输出。

其内容主要包括五个方面内容:平差计算后的坐标值,待定点点位中误差,误差椭圆参数计算等。

信息具体内容如下:1.平差计算成果成果总输出;2.坐标平差成果输出3.点位误差椭圆参数4.误差椭圆的绘制5.方向观测平差成果:方向观测值,平差值,改正数;6.边长观测平差成果:边长观测值,边长平差值,改正数;代码截图(其中的几个):平差主界面的设计此界面为本组实习成果的最大创新之一,就是我们在原本要求的平差程序界面(边角三角网平差程序)的基础上增加了另一个界面,就是小组信息的界面(包括有小组成员照),而两个界面之间利用一个总的界面(小组平差程序设计)进行选择性打开代码截图:主界面—小组平差程序设计总的设计流程图:代码书写与调试:由于上面已经展示过几乎所有的代码(根据每一个模块),真正运行整一个程序的时候却是按照步骤一步步地一个模块地运行,但是问题一定会出现的,而且还不是很少,关键就是怎么样通过一步步地发现问题所在,并根据实际情况去试调程序,合理地按照平差理论去运行程序。

一下列举了一些出现的主要问题。

方位角由于所提供的数据时边角三角网的数据,这样就会涉及到方位角问题,而且还不止一次的出现方位角的运算(如待定点的近似坐标的求解过程中出现过),这就应该惊醒一个重要的细节:就是所求的方位角是否合理?怎么样去判断呢?就是通过if(elseif)语句去判断其与0和360度或者2*pi 的关系,在去改正方位角。

原则上一旦出现方位角的求解出都是要用这个语句去判断,这样才能保证精密。

和提高正确性。

单位问题单位问题出现在两处,就是观测值的单位权的求解处,二是误差方程的系数求解处。

由于这两者是在后面的法方程求解时都要用上所以,在此之前要保证两者的单位相对统一,这个统一要分两处,边长观测量方程系数和方向观测方程系数,特别注意的是原始数据提供的观测精度(两种)的单位,和误差方程的系数的单位,而在实际中,我们组应用的是方向观测用秒为单位,而变成观测以米为单位,这样出来的结果最后的平差数据处理,如精度评定,误差椭圆计算等,也要注意单位问题。

比例参数根据实际求出的误差椭圆参数(E F fi)的大小和所绘制的三角网的大小,这两者之间通过比例参数的调整才能更好地在显示误差椭圆。

弧度转角度对于弧度转角度这个小问题,我不得不提,这是一个关键问题。

为什么?因为我们组把其他问题都解决了后,组的坐标改正数,误差椭圆参数等都很不正常的显示在电脑屏幕上,一次次地打击我们的信心。

最后,我在仔细地对照书本,细心查询,观察异同发现,一个最不关紧要的差异,就是弧度转角度的小问题,我们原来采用的是MATLAB系统自带的弧度转角度的函数,结果我们发现这个问题直接就是导致待定点的近似坐标差异特别大,尤其在待定点3的x,y坐标上面,差了好几米(跟提供的平差结果数据相比),这样后面的就影响到误差方程系数的不正常,和平差计算得出的改正数,单位全中误差,点位误差和误差椭圆参数的异常。

相关主题