(浦江)Matlab在导线网平差中的应用文献综述
2020-03-13 09:43:09
文 献 综 述 引言:随着光电测距仪的普及,导线网做为一种控制网越来越受到重视,导线网数据量大,网形复杂多变,其数据处理过程大多涉及到矩阵的计算。利用VC、VB等编程语言进行导线网程序的开发,算法比较复杂。基于Matlab平台,利用其强大的矩阵处理能力,设计出导线网数据结构,此基础上进行导线网平差程序的设计与开发,减小了代码编写的工作量。本文总结导线网的规律,设计出通用数据结构。并基于Mat lab强大的矩阵计算能力,编制了导线网数据处理程序。 1,MATLAB 语言简介 MATLAB语言是当今国际上科学和工程计算中最具影响力、最有活力的语言。MATLAB 语言起源于矩阵运算,但是现在的MATLAB已经不仅仅是一个#8220;矩阵实验室#8221;了, 它已经成为一种具有广泛应用前景的全新的计算机高级编程语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言为解释性程序语言,程序中的语句边解释边执行。该语言无需象C和Fort ran语言那样,首先要求使用者去编写源程序,然后对之进行编译、连接,最终形成可执行文件。MATLAB程序大致分为两类:M脚本文件(M-Script)和M函数(M-function)。不论是M脚本文件中还是M函数中都是由一组MATLAB 语言所支持的语句组成。它类似于DOS下的批处理文件。它集数值分析、矩阵运算、信号处理和图形显示为一体,构成了一个方便的、界面友好的用户环境。MAT LAB的推出得到了各个领域的专家的广泛关注,其强大的扩展功能更为各个工程领域提供了分析和设计的基础。借助于日渐完善的MATLAB软件,研究人员可以直观、方便地进行分析、计算和设计工作,从而提高了工作效率。 MATLAB 的主要特点是: * 强大的计算功能。 * 计算结果和编程可视化。 * 极高的编程效率。 2,导线网平差简介 随着测量工程的逐渐精密和现代化,特别是计算机、矩阵代数、泛函分析、最优化理论和概率统计在测量平差中的广泛应用,对测量平差的理论和实践产生了深刻影响, 使测量平差从经典平差进入到近代平差的新时期,推动了测量平差理论的发展,扩展了经典平差的数学模型,出现了一些称为近代平差的新方法,如相关平差、H空间的最小二乘平差、整体大地测量、秩亏平差、最小二乘分解法、随机模型的验后估计、估计模型误差的平差方法、有偏估计、大地网最优化设计等。 导线网是网形不受限制,可以按需伸展的特殊边角网。通常测量网中全部的边和方向,构成自身闭合或附合在高级点上的网形。即使如此,导线网中的多余观测相对与三角网来说是少的。由于导线网有布设灵活的特点,故在建立三角网有困难的地区,都可以用相当等级的导线网代替。 导线网的必要起算数据是3个,即一个点的纵横坐标和一条边的坐标方位角。有多余起算数据的导线网称为附合导线网;没有多余起算数据的导线网就是独立导线网。 导线网平差时,采用条件平差是相当普遍的; 或者在全网整体平差时采用间接平差法, 在单一导线平差时采用条件平差法。导线网采用条件平差时,最基本的是建立在已知点或结点之间的单一附合导线节的条件方程。对于较大规模的导线网,可以采用分区平差的算法,把结点的坐标和定向角作为未知参数,这样就可以把全网按导线节分成若干分区, 在分区内部组成条件方程,消去内部联系数后即得结点尚未知参数的法方程。这就是附有未知参数的条件方程法,即全网结点的未知参数采用间接平差,各导线节内部采用条件平差。当加密网的尺长与已知点间的尺长存在明显系统差时,平差中可按情况设置尺度比参数,以削弱尺长系统差对平差结果的影响。 导线网采用间接平差,则设定待定点的坐标,测站点的定向角或尺度比等参数。由于这些未知参数的个数远较多余观测数为大,实际上,导线网很少采用单纯的间接平差算法。为了减少观测值的数量和扩大计算机的解题能力,结点或已知点之间的一个导线点,可以用两个端点之间的3个相关观测值代替。这样,就构成了一个由已知点与结点间的长边连成的相关观测导线网,这个相关观测网就可以采用间接平差,求得结点平差值后再返回各个导线点,采用条件平差法求各个导线点的坐标平差值。 3,用MATLAB程序进行导线网平差概述 (1 )导线网数据结构设计 导线网由导线点、导线边和角度3 类要素构成,其中导线边包括起点和终点,角度包括左边和右边。要使程序能对于任意形状的导线网进行处理,首先需要设计数据结构,以存储相关数据。这些数据包括起算数据、观测数据和网形各要素连接关系等,它们都是导线网各要素的属性值。 (2)近似坐标计算 近似坐标的计算是导线网平差中关键的一个环节。其精度直接影响到后续平差计算的点位精度和迭代平差工作量大小。近似坐标计算包括近似方位角的计算和近似坐标的计算两个步骤。近似方位角的计算以角度为单位,将已知方位传递到网中每一条边。设某角度一边方位已知,而另一边方位未知,由于两边夹角已知,可计算出未知边的方位。 通过近似方位角的计算,所有导线边的近似方位计算完毕,此时可以利用每条边的边长和近似方位计算其坐标增量,这个过程只需要在边表中循环计算即可。然后以导线边为单位,从起始边出发,将已知坐标传递到各未知点。所谓起始边即该边一端点坐标已知, 另一端点坐标未知。利用导线边坐标增量计算未知点坐标,然后查找相邻边,判断其是否为截至边(两端点坐标皆知),如否,计算未知点坐标。重复查找计算直至截至边,然后程序在点表中判断有无近似坐标未知的点,如有,则重复以上步骤,否则程序退出。 这个过程和计算方位角的过程是类似的。 (3) 误差方程系数矩阵计算 导线网观测值有角度和边长两种类型,一个观测值可列出一个误差方程。因此程序需分别读取角度表和导线边表中每个记录来计算误差方程系数矩阵B、常数项矩阵l和权阵P。 参考文献 [1] 张航,黄攀,等译.精通MATLAB6.5[M].北京:清华大学出版社,2002. [2] 施阳,李俊MATLAB语言工具箱实用指南[M].西安:西北工业大学出版社,1999. [3] 武汉大学测绘学院测量平差学科组.误差理论与测量平差基础.武汉:武汉大学出版社,2003. [4] 彭先进.测量控制网的优化设计[M]. 武汉:武汉测绘科技大学出版社,1991. [5] 代西武.Matlab 编程技巧二则.代西武 .北京:北京建筑工程学院理学院,2008. [6] 王 群. MAT LAB 程序编写与应用.江苏徐州:徐州师范大学.2002. [7] 孙红寿.导线网的相关平差. [8] 高金辉导线网平差方法的研究.煤炭科学研究总院唐山分院.1994. [9] 朱群康, 郭昌俊导线网平差软件设计淮浙煤电公司顾北分公司瓦斯地质部, 安徽凤台2008. [10] 朱永松1, 程 曦1, 2.导线网平差算法设计与实现.1 湖北工业大学理学院, 湖北武汉430068; 2 武汉中地信息工程有限公司, 湖北武汉2005. [11] 杜永昌.导线网相关平差哈尔滨冶金测量学校.1984. [12] 吴专保1.非线性方程几种数值解法的Matlab 程序.1,湖南师范大学 数学与计算机科学学院,长沙 ;2.岳阳职业技术学院 公共课部,2007. [13] 李建章.基于Matlab 的导线网平差程序设计. 兰州交通大学土木工程学院, 甘肃兰州.2010. [14] 冯浩鉴论秩亏网平差.国家测绘局测绘科学研究所.1984. [15] 吴专保线性方程组的几种数值方法的MATLAB程序.岳阳职业技术学院公共课部, 湖南岳阳2007. |