导线平差的程序设计与实现-毕业论文.docx_第1页
导线平差的程序设计与实现-毕业论文.docx_第2页
导线平差的程序设计与实现-毕业论文.docx_第3页
导线平差的程序设计与实现-毕业论文.docx_第4页
导线平差的程序设计与实现-毕业论文.docx_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

导线平差的程序设计与实现毕业论文目 录1 绪论11.1研究背景及意义11.2国内外研究状况21.3本文研究的具体内容21.4平差程序相关说明31.4.1平差程序计算特点31.4.2平差程序的基本要求31.4.3平差程序的结构化设计31.4.4平差程序模块化41.4.5平差程序的数据结构42 测量平差52.1测量平差概述52.1.1测量平差52.1.2测量平差的函数模型52.2最小二乘原理52.3条件平差原理62.3.1条件平差的数学模型62.3.2条件平差原理62.3.3条件平差的计算步骤72.3.4精度评定82.4间接平差原理102.4.1间接平差的数学模型102.4.2间接平差的的一般原理112.4.3按间接平差法求平差值的计算步骤122.4.4精度评定123 Excel在导线平差中的应用153.1 Excel在平差中的应用基础153.1.1 引言153.1.2 Excel在平差中的基本应用操作函数153.1.3 核心问题的解决及技巧173.1.4 三角函数在Excel中的处理方法173.1.5 小结183.2 Excel在附和导线近似平差中的应用183.2.1 单一附和导线近似平差183.2.2单一附和导线近似平差实例193.3 Excel在导线网条件平差中的应用233.3.1单一附合导线条件平差233.3.2边角权的确定及单位权中误差253.3.3单一附和导线条件平差实例264导线网的间接平差程序设计与实现314.1矩阵的相关函数314.1.1矩阵相乘314.1.2矩阵转置324.1.3矩阵求逆334.1.4矩阵输出334.1.5设置实数输出精度334.2平差中的重要函数334.2.1角度制与弧度制的相互转化334.2.2测量正反算函数344.2.3近似坐标计算344.3导线网的平差理论364.3.1平差概述364.3.2边角网的最小二乘平差374.4间接平差的结构与函数设计394.4.1间接平差394.4.2结构与函数设计414.5导线网平差的程序应用434.5.1平面网数据的输入格式434.5.2导线网平差程序应用实例445结论与展望505.1 Excel在导线平差中的应用505.1.1 Excel在导线近似平差中的应用505.1.2 Excel在导线网条件平差中的应用505.2 C+在导线平差中的应用515.3 测量平差的展望51参考文献52附录53翻译部分59英文原文59中文译文64致 谢681 绪论1.1研究背景及意义测量工作是工程施工非常基础、重要的环节,对工程设计、工程施工、工程的验收都发挥着指导性、不可替代的作用。国家等级控制网的数据采集与更新,全国土地调查,铁路公路的施工,隧道的贯通,地震的预报,建筑物的施工放样和形变监测等项目,都离不开测绘行业。测绘学科在国民经济规划,国防建设,环境和资源管理,城乡建设等领域得到广泛的应用。可见,测绘行业的重要性,基础性地位,同样随着施工项目的增多也促进了整个测绘行业的需求增加,给测绘行业带来迅猛的发展。对于不同的测量任务常常需要布设相应的控制网以满足精度需要,测量控制网的发展由早期的测角三角网、测边三角网、水准网,到现在的导线网、三维网和GPS控制网。其中导线网是特殊的边角网,导线网相对测角网和测边网网形灵活任意,数据采集工作相对少了很多,并且可以根据需要自由伸展。通常测量控制网中全部边和方向构成自身闭合或附和条件即可,在测量条件相对困难的地区,常常用相当等级的导线网来代替,导线控制网的应用现在已非常广泛,测角网和测边网已逐渐退出历史舞台。测量控制网的精度是测量任务中的关键、最重要的方面,外业采集的数据能否满足施工项目的具体要求,测量数据处理显得尤为重要,也是指导外业测量的关键所在。如隧道的贯通精度控制,桥梁的形变控制,铁路、公路路线的带状控制,都需要很高的外业测量经验和数据处理知识。从施工行业和测绘行业的整个控制测量工作流程来讲,工作人员获得了外业测量采集的数据后,还需进行测量内业的数据处理内业工作。不同的工程、不同的行业要求控制网满足的测量精度也各不相同,使用的仪器精度也不同,最终能否达到工程的要求,必须通过测量控制网数据处理来进行检验,指导控制网施工。七八十年代的老一辈的测绘工作者数据处理只能采用手计算的方式,计算工作量相当繁重,占用大量的时间,测量人员必须具备很高的外业测量经验和平差数据处理知识才能完成。九十年代早期出现了测量平差程序,仍需经过记录数据的打印、绘制计算略图、编号编码、数据摘抄、严格顺序数据录入等繁琐工作,影响了数据处理的效率,浪费了宝贵的时间,严重阻碍了测量数据处理自动化的发展。随着计算机技术的发展和普及,以及矩阵代数、最优化理论和概率统计在测量平差中的广泛应用,对测量平差理论产生了深刻的影响,是测量平差从经典平差理论到现在的近代平差理论,推动了测量平差理论知识的发展,扩展了经典平差理论的数学模型,提出了一些近代平差数据处理的新方法,如相关平差、秩亏平差方法、随机模型的验后估计、有偏估计等。近几年国内外已有多个版本的导线网平差程序,这些平差程序有其各自的优点并存在不足。近期开发的平差程序大部分已有了改善,智能化自动解算水平在提高,功能在日趋完善,但总存在着不足,功能仍然需要完善。利用现代科学技术手顿结合测量数据处理的专业知识,编写新一代的导线网平差软件,实现导线网平差数据处理的计算机自动解算,智能化的完成繁重的数据处理任务,图形化的操作界面,可大大提高工作的效率,同时减轻内业工作负担,缩短项目的工期,降低了数据处理人员对平差专业知识的依赖,指导测量任务能够正确进行,完成预期的精度指标,并提高测量数据处理效率以准确方便的为测量人员服务,指导测量施工。取代了在计算机技术水平不发达的时代里繁重的、刻板的工作流程,比如绘制计算略图、编号编码、数据摘录等等,而且,计算结果比以前更加准确,避免了人为出现的错误机会,减少了人力、物力,财力的成本,同时也为测绘工作者带来了极大的方便。1.2国内外研究状况计算机编程技术的发展推动了测绘行业软件的发展,测量的数据处理技术已走向了数字化,智能化,越来越多的测绘类软件层出不穷。通过行业调查和市场调查,国内外大型测绘仪器公司都研发了测绘相应领域的数据处理软件,但软件质量差异较大、层次不齐,只能基本满足测量生产任务的需要,对与一些比较深入的数据处理功能任务并不能很好的完成,或者存在错误、不合理的地方,等各种各样的问题,比如数据录入繁琐复杂,功能不完善,缺乏友好的软件操作界面,而且软件开发人员也并非测量数据处理的专业人员,专业水平值得怀疑,具体使用的平差算法不明确,平差计算结果的精度值得质疑,而且各个平差程序的平差结果都不同。目前应用较为广泛的,口碑较好的平差软件有:南方平差易、清华三维、科傻适普数据处理软件,但都能发现或多或少的问题或错误。国外的平差软件规模都相对比较庞大,涵盖内容比较广,但是软件难以操作,不容易掌握,对于国内的用户而言,在实际需求上也并不是非常实用,对用户的专业水平要求较高,软件使用习惯上和具体测量数据处理流程上,解决的实际问题上和国内也有很大的差异,目前市场上还没有国外专门针对国内适合的控制网测量平差软件。导线网平差软件的程序实现涉及到多个算法,测量平差的数学算法和数据结构中图论的一系列算法,国内很多专家学者致力于其中难点问题的研究,比如近似坐标的自动推算,无定向导线网的自动推算,自由网平差算法,拟稳平差算法,最小独立闭合环的搜索,控制网图形显示,算法的效率优化问题等方面的内容。目前,已取得了一定的研究成果,并具有多种算法实现形式。从这些已有的研究成果中,比较算法的优劣,找到最高效,最简便的算法,或者进行更深入的研究,提出更优秀的算法。1.3本文研究的具体内容结合已学的平差理论基础,本文重在研究平差程序的设计与实现,其中包括:(1)测量平差的函数模型(2)Excel在平差中的应用基础(3)Excel在附和导线近似平差中的应用(4)Excel在导线网条件平差的应用(5)矩阵的相关函数(6)平差中的重要函数(7)导线网的平差理论(8)间接平差的结构与函数设计(9)导线网平差的程序应用1.4平差程序相关说明1.4.1平差程序计算特点相对于手工计算,平差程序计算的主要特点是计算速度快、精度高、数据处理自动化,从而把人从繁重的计算工作中解放出来。从程序设计的角度看,程序设计与平差计算相对独立。在平差手工计算时,我们总是面对需要计算的具体问题,所以其数据是特定的,计算过程由人实时控制;在计算机程序计算中,在程序设计时数据是抽象的,必须考虑到实际计算中问题的多样性,以及数据计算过程的自动化,所以在程序设计时必须考虑需要处理的所有问题的普遍性和规律性。另外,相对于手工计算,在程序计算时,选择平差方法的依据不同。在手工计算时,我们通常希望尽量降低计算工作量。当必要观测数t多余观测数r时,我们可以选择条件平差;当必要观测数t多余观测数r时,我们可以选择间接平差,这样,可以降低平差计算量。然而,在计算机程序计算时,由于计算机计算的快速高效性,我们不是很关心计算量的问题,而把主要精力集中于方法实现的现实性方面,也就是要求该方法具有较强的规律性,便于程序设计的技术实现。在平差程序设计中,使用间接平差,对于一般控制网,误差方程形式统一、规律性强、便于程序设计;而使用条件平差,误差方程形式多样,规律性差,不利于程序设计。所以,在本文中,我们主要使用间接平差方法进行程序设计。总之,我们在选择数学模型的时候,一定要考虑算法同计算机程序设计的特点相统一。1.4.2平差程序的基本要求平差程序设计与其它程序设计相同,应当满足一定的要求。(1)程序逻辑结构简单,清晰易读,符合结构化程序设计要求,便于扩展;(2)运算速度快,占用内存小,内外存之间的交换不宜过于频繁;(3)数学模型及计算方法正确、先进,计算结果精度高;(4)适应性强,便于移植,充分考虑各种可能形式,尽量满足不同要求与需要;(5)方便用户,操作简便。数据输入与用户作业方式与习惯相统一,输出明了、齐全;尽量减少手工处理工作量,操作简便;人机交互性要强。 上述要求,既体现在平差程序的总体设计中,也贯穿于平差程序设计的各个环节中。1.4.3平差程序的结构化设计 结构化程序设计是计算机软件技术高度发展的产物,是大规模、工业化软件开发的基础。C语言是结构化程序设计思想成熟与完善的标志,至今,仍然是计算机软件开发的主要语言之一。模块的概念是软件工程的基本概念之一。1模块化程序设计相关概念模块执行某一特定任务的数据结构和程序代码。 在C语言中,每个模块与一个函数(function)相对应。模块化将待开发的软件分解成若干个小的模块,以使每个模块可以独立地开发、测试,最后组装成完整的软件。软件模块化的目的在于使软件的结构清晰,降低软件开发难度、容易阅读理解、测试和修改。2划分模块的原则:(1)按功能划分模块,要求每个模块包含单一、具体的功能(2)使每个模块独立性好,这就要求一个模块具有较强的内聚性和较弱的耦合性。方便于模块的独立开发、调试,同时,使模块具有很好的移植性。1.4.4平差程序模块化图1.1 平差程序模块化1.4.5平差程序的数据结构测量平差程序处理的对象是程序所适应的各种测量控制网问题。因此,这类程序总是同一定的网形相联系的。一个具体的控制网通常是以图形方式直接绘出的,为了用计算机进行控制网的平差计算,就需要将具体的网形转化为一系列的数据,然后才能输入计算机进行处理。这种将网形转化为一系列数据的工作和过程称为“网形数字化”。网形数字化所得到的一组数据就是控制网的数据结构。数据结构所涉及的范围是广泛的。在每个具体问题中,数据元素及其关系是确定的,而且都有其特定的含义。对测量平差而言,其数据结构就是表达一个控制网的全部数据的集合,包括已知数据、观测数据、网形数据(网图数据)及其关系。2 测量平差2.1测量平差概述2.1.1测量平差由于测量仪器的精度不完善和人为因素及外界条件的影响,测量误差总是不可避免的。为了提高成果的质量,处理好这些测量中存在的误差问题,观测值的个数往往要多于确定未知量所必须观测的个数,也就是要进行多余观测。有了多余观测,势必在观测结果之间产生矛盾,测量平差的目的就在于消除这些矛盾而求得观测量的最可靠结果并评定测量成果的精度。测量平差采用的原理就是“最小二乘法”。2.1.2测量平差的函数模型在科学技术领域,通常对研究对象进行抽象概括,用数学关系式来描述它的某种特征或内在的联系,这种数学关系式就称为数学模型。在测量工作中,涉及的是通过观测量确定某些几何量的大小等有关数量问题,因此,常考虑如何建立相应的数学模型及如何解算这些模型。由于测量观测值是一种随机变量,所以,平差的数学模型与传统数学上的模型不同,它不仅要考虑描述已知量与待求量之间的函数模型,还要考虑随机模型,在研究任何平差方法时,函数模型和随机模型必须同时予以考虑。常见的平差函数模型有条件平差法、附有参数的条件平差、间接平差法(参数平差法)、附有限制条件的间接平差等。1.函数模型函数模型是描述观测量与待求量之间的数学函数关系的模型。对于一个平差问题,建立函数模型是测量平差中最基本、最重要的问题,模型的建立方法不同,与之相应就产生了不同的平差方法。2.平差的随机模型 对于我们已学的基本平差方法,最基本的数据就是观测值向量,进行平差时除建立其函数模型外,还要同时考虑到它的随机模型,亦即观测向量的协方差阵: (2.1)式中D为L的协方差阵,Q为L的协因数阵,P为L的权阵,为单位权方差。函数模型连同随机模型,就称为平差的数学模型。在进行平差计算前,函数模型和随机模型必须首先被确定,前者按上面介绍的方法建立,后者须知道P、Q、D其中之一。可以通过平差计算求出的估值确,然后根据公式 求得D的估值。2.2最小二乘原理在测量工作及其它科学工程领域,应用最早也最广泛的就是所谓的“最小二乘准则”: (2.2)在满足最小二乘准则下求得的真误差称为估值,用表示,测量工作中习惯上用符号代替,因此最小二乘准则常表达为: (2.3)由于根据最小二乘准则可以求得真误差估值,也就可以求得观测值的估值,其计算公式为: (2.4)式中称为观测值的改正数,称为观测值的估值,或平差值、最或然值。 应用最小二乘准则,并不需要知道观测向量属于什么概率分布,只需要知道它的先验权阵 就可以了。 当为非对角阵,表示观测值相关,按进行的平差称为相关观测平差。 当为对角阵,表示观测值不相关,此时最小二乘准则可表示为纯量形式,即: (2.5)特别地,当观测值不相关且等精度时,权阵为单位阵,此时最小二乘准则可表示为: (2.6)2.3条件平差原理2.3.1条件平差的数学模型条件平差的数学模型为: (2.7) (2.8)条件方程个数等于多余观测数r,n为观测值总个数,t为必要观测数,存在关系:r = n - t (2.9)由于r n,从式(2.7)不能计算出的唯一解,但可按最小二乘原理(),求出的最然值V,从而进一步计算观测量 的最或然值 (又称平差值)。 (2.10)将(2.7)式中的改写成其估值(最或然值)V,条件方程变为: (2.11)条件平差就是在满足r个条件方程条件下,求解满足最小二乘法()的V值,在数学中就是求函数的条件极值问题。12.3.2条件平差原理 (2.12) (2.13) (2.14)按求函数极值的拉格朗日乘数法,引入乘系数(又称为联系数向量),构成函数: (2.15)为引入最小二乘法,将对V求一阶导数,并令其为零:得:上式两端转置,得 由于P是主对角线阵,则 ,得 :将上式两边左乘权逆阵 ,得: (2.16)此式称为改正数方程,其纯量形式为: (2.17)将(2.16)式代入(2.13)式,得 (2.18)此式称为联系数法方程(简称法方程)取法方程的系数阵,由上式易知N阵关于主对角线对称,得法方程表达式 : (2.19)法方程数阵N的秩: 即,N是一个r阶的满秩方阵,且可逆。将(2.18)式移项,得: 上式两边左乘法方程系数阵N的逆阵 ,得联系数K的唯一解: (2.20)将(2.20)式代入(2.16)或(2.17)式,可计算出V,再将V代入(2.10),即可计算出所求的观测值的最或然值 。通过观测值的平差值,可以进一步计算一些未知量(如待定点的高程、纵横坐标以及边的长度、某一方向的方位角等)的最或然值。由上述推导可看出,K、V及都是由(2.13)和(2.16)式解算出的,因此我们把(2.13)和(2.16)式合称为条件平差的基础方程。2.3.3条件平差的计算步骤综合以上所述,按条件平差的计算步骤可归结为以下几步:(1)根据实际问题,确定出总观测值的个数n、必要观测值的个数t及多余观测个数r = n - t,进一步列出最或是值条件方程(2.12)或改正数条件方程(2.13);(2)根据(2.18)式,组成法方程式;(3)依据(2.20)式计算出联系数K;(4)由(2.16)式计算出观测值改正数V;并依据(2.10)式计算出观测值的平差值;(5)根据(2.22)和(2.23)计算单位权方差 和单位权中误差 ;(6)列出平差值函数关系式(2.29),并对其全微分,求出其线性函数的系数阵f,利用(2.32)式计算出平差值函数的协因数,代入(2.33)计算出平差值函数的协方差。 (7)为了检查平差计算的正确性,可以将平差值代入平差值条件方程式(2.12),看是否满足方程关系。2.3.4精度评定1计算单位权方差和中误差的估值根据中误差的定义,单位权中误差的计算公式为 (2.21)在一般情况下,观测值的真误差是不知道的,也就不可能利用上式计算单位权中误差。但在条件平差中,可以通过观测值的改正数V来计算单位权方差和中误差: (2.22) (2.23)式中r为多余观测值个数,r = nt。在(2.23)中,须先算出VTPV的值,才能计算单位权中误差。VTPV可用下列几种方法计算:(1)直接利用定义式(2.22)计算。纯量形式为: (2.24)(2)由(2.16)和(2.13)式导出 即 (2.25)其纯量形式为: (2.26)2协因数阵条件平差的基本向量L、W、K、V、 都可以表达成随机向量L的函数将向量L、K、V、组成列向量,并以Z表示之 (2.27)式中等号右端第二项是与观测值无关的常数项阵,按协因数传播律,得Z的协因数阵为: (2.28)由上式可见,平差值与闭合差W、联系数K、改正数V是不相关的统计量,又由于它们都是服从正态分布的向量,所以与W、K、V也是相互独立的向量。3平差值函数的协因数在条件平差中,平差计算后,首先得到的是各个观测量的平差值。例如,测角网中的观测角度的平差值,导线网中的角度观测值和各导线边长观测值的平差值等。而我们进行测量的目的,往往是要得到未知点的坐标值、三角网的边长值及方位角值等,并且评定其精度。这些值都是关于观测值平差值的函数。设有平差值函数: (2.29)对上式全微分得:取全微分式的系数阵为:由协因数传播律得: (2.30)根据的等式,知: (2.31)代入(2.30)式得: 即 (2.32)此式即为平差值函数式(2.29)的协因数表达式。则得该平差值函数的方差: (2.33)2.4间接平差原理2.4.1间接平差的数学模型间接平差法(参数平差法)是通过选定t个与观测值有一定关系的独立未知量作为参数,将每个观测值都分别表达成这t个参数的函数,建立函数模型,按最小二乘原理,用求自由极值的方法解出参数的最或然值,从而求得各观测值的平差值。1一般地,间接平差的函数模型为: (2.34)平差时,为了计算方便和计算的数值稳定性,一般对参数都取近似值,令: (2.35)代入(4-1-4)式,并令: (2.36)由此可得误差方程: (2.37)式中为误差方程的自由项,对于经典间接平差,将未知参数视为非随机参数,不考虑其先验统计性质,根据(2.35)式,可得平差后,由(2.36)式可得。间接平差的随机模型为: (2.38)平差准则为: (2.39)间接平差就是在最小二乘准则要求下求出误差方程中的待定参数,在数学中是求多元函数的自由极值问题。2.4.2间接平差的的一般原理设平差问题中有n个观测值L,已知其协因数阵,必要观测数为t,选定t个独立参数,其近似值为,观测值L与改正数V之和,称为观测量的平差值。按具体平差问题,可列出n个平差值方程为:(i=1,2,3,n) (2.40)令 : 则平差值方程的矩阵形式为: (2.41)令:式中为参数的充分近似值,于是可得误差方程式为 (2.42)按最小二乘原理,上式的必须满足的要求,因为t个参数为独立量,故可按数学上求函数自由极值的方法,得:转置后得: (2.43) 以上所得的(2.42)和(2.43)式中的待求量是n个V和t个,而方程个数也是n+t个,有唯一解,称此两式为间接平差的基础方程。 解此基础方程,一般是将(2.42)式代入(2.43)式,以便先消去V,得: (2.44)令上式可简写成 (2.45)式中系数阵为满秩矩阵,即 , 有唯一解,上式称为间接平差法方程。解之,得: 或 (2.46)将求出的 代入误差方程(2.42),即可求得改正数V,从而平差结果为: (2.47)特别地,当P为对角阵时,即观测值之间相互独立,则法方程(2.45)的纯量形式为:2.4.3按间接平差法求平差值的计算步骤(1)根据平差问题的性质,选择t个独立量作为参数;(2)将每一个观测量的平差值分别表达成所选参数的函数,若函数非线性要将其线性化,列出误差方程(2.42);(3)由误差方程系数B和自由项组成法方程(2.45),法方程个数等于参数的个数t ;(4)解算法方程,求出参数,计算参数的平差值 (5)由误差方程计算V,求出观测量平差值;(6)评定精度。2.4.4精度评定1.单位权中误差间接平差与条件平差虽采用了不同的函数模型,但它们是在相同的最小二乘原理下进行的,所以两法的平差结果总是相等的,这是因为在满足条件下的V是唯一确定的,故平差值不因方法不同而异。单位权方差 的估值 ,计算式仍然是 除以其自由度,即 (2.48)中误差为 (2.49)计算可以将误差方程代入后计算,顾及得 即,考虑到得 (2.50)2.协因数阵在间接平差中,基本向量为,,V和。已知,根据前面的定义和有关说明知,故 ,。下面推求各基本向量的自协因数阵和两两向量间的互协因数阵。设 ,则Z的协因数阵为:式中对角线上子矩阵,就是各基本向量的自协因数阵,非对角线上子矩阵为两两向量间的互协因数阵。 其基本思想是把各量表达成协因数已知量的函数,上述各量的关系式已知为: (2.51) (2.52) (2.53) (2.54)由前三个式子,按协因数传播定律容易得出再计算与(2.54)式有关的协因数阵,得平差值、与改正数V的互协因数阵为零,说明与V,与V统计不相关,这是一个很重要的结果。3.参数函数中的误差在间接平差中,解算法方程后首先求得的是t个参数。有了这些参数,便可根据它们来计算该平差问题中任一量的平差值(最或然值)1 张书毕. 测量平差. 徐州:中国矿大学出版社,2008,6-17.2 高井祥. 数字测图原理与方法. 徐州:中国矿大学出版社,2008,22-23.3 张华海. 应用大地测量学. 徐州:中国矿业大学出版社,2008,53.4 谭浩强. C+程序设计. 北京:清华大学出版社,2008.5 殷人昆. 数据结构(用面向对象方法与C+语言描述). 北京:清华大学出版社,2007.6 刘玉英. 程序设计基础C+. 北京:人民邮电出版社,2006.7 求是科技. Visual C+6.0程序设计从入门到精通. 北京:人民邮电出版社,2006.在间接平差中,任何一个量的平差值都可以由平差所选参数求得,或者说都可以表达为参数的函数。下面从一般情况来讨论如何求参数函数的中误差的问题。假定间接平差问题中有t个参数,设参数的函数为: (2.55)将代入上式后,按泰勒公式展开,取至一次项,得: 或 (2.56)对于评定函数的精度而言,给出或是一样的。通常把(2.56)式称为参数函数的权函数式,简称权函数式。令 ,则: 因,故函数 的协因数为: (2.57)一般,设有函数向量的权函数式为: (2.58)即用来计算m个函数的精度,其协因数阵为: (2.59)是参数向量的协因数阵,即:其中,对角线元素是参数的协因数,故的中误差为: (2.60)(2.58)式的函数的协方差阵为: (2.61)3 Excel在导线平差中的应用3.1 Excel在平差中的应用基础3.1.1 引言在现代测量中,对通过各种测量方法所采集得到的原始数据,往往需要根据误差理论的方法对存在的各类误差进行平差处理从而取得最或然结果。而对于偶然误差的处理,利用最小二乘法准则进行平差计算的过程,通常都要对误差方程式或条件方程式进行整合处理求得法方程组,然后解算法方程、计算改正数、精度评定等等,一系列计算步骤的进行,如果没有现成的专业软件,而用手工的办法去完成平差计算工作,将是一件很繁琐的事情。其实,测量平差的过程简单的来说就是解算线性方程组的过程,而最令人烦恼的部分是线性方程的求解。在处理一些小的工程项目平差计算的时候,如果手头没有像MATLAB等具有矩阵运算功能的应用软件,利用Microsoft Office Excel的内置函数,同样的可以帮助计算者比较轻松的完成计算任务。3.1.2 Excel在平差中的基本应用操作函数以下要阐述的就是利用Excel转置粘贴功能以及矩阵计算的函数TRANSPOSE(矩阵转置)、MMULT(矩阵乘)、MINVERSE(矩阵求逆),实现测量平差之线性方程组解算的过程。为了加快平差解算的作业效率,应该根据实际情况选择适当的数学模型。实际工作中,有两种数学模型得到了较为广泛的应用,即间接平差模型和条件平差模型;本章中主要介绍Excel在条件平差的应用。1.条件平差模型条件方程式:AV-W= 0 ; 法方程:AP-1ATK-W= 0 ;改正数计算:V= P-1ATK;V TPV计算: V TPV=WTK;平差值的函数:平差值的协因数计算: 公式中各种符号的含义:观测向量 L;相应的权阵 P;条件方程的系数矩阵A;条件改正数 V;条件闭合差 W;法方程联系数矩阵 K;平差值的函数系数阵。2.计算法方程平差计算的数学模型,全都是以矩阵的形式给定的。如果掌握了矩阵计算的方法,所有的计算将迎刃而解。由于测量计算作业过程中采用不同的数学模型,以及图形条件的多样化,对于条件方程的产生,在本文所述的解算方案当中,还不能自动完成;当然,可以完成部分类型的条件方程(如附和导线),还可以利用Excel中的VBA功能编程处理,但将可能给计算者增加了难度。以下是对如何使用Excel内置函数进行矩阵计算的方案进行阐述。(1)数据的输入将系数矩阵的数据填入电子表格的相应区域中。(2)矩阵的转置a.选中电子表格中系数矩阵的数据区域,点击右键,选击复制菜单选项。b.在电子表格中点击系数矩阵数据区域以外的任意单元格,点击右键,选击“选择性粘帖”菜单项。c.点击“选择性粘帖”菜单项,出现“选择性粘帖”对话框;该对话框有三部分选项,第一部分“粘帖”,选中“全部”选项,第二部分“运算”,选中“无”选项,第三部分选中“转置”选项,单击确定,即可完成系数矩阵数据的转置操作。(3)矩阵乘运算a.选中电子表格中的空白区域,该区域的行数、列数等于矩阵相乘所得矩阵的行数、列数,点击工具栏中的fx(函数)工具按钮。b.弹出插入函数的对话框,在该对话框的左边的函数分类中选择“数学与三角函数”,在右边的函数名中选中“MMULT”,单击确定。c.弹出函数参数输入的对话框,该对话框提示输入两组参数,第一个参数Array1栏中输入第4步骤中转置矩阵区域的行列号,在Array2栏中输入系数矩阵区域的行列号,可以不用键盘输入,而用Array*内右端的按钮,回到表格视图中用鼠标涂选表格区域,按一下回车键即可;在表格视图的公式栏应该有“=MMULT(转置矩阵区域,系数矩阵区域)”的描述。d.同时按住Shift和Ctrl两键,按下回车键,这时,第1步骤选定的区域内的单元格所显示的结果即为联系方程的系数阵。(4)矩阵求逆运算a.选中电子表格中的空白区域,其行列数与系数矩阵相同,点击工具栏中的fx工具按钮。b.在弹出的对话框中左边的函数分类选取“数学与三角函数”,右边选择函数名“MINVERSE”,单击确定。c.在弹出的参数选择对话框中Array1中输入系数矩阵,在表格视图的公式栏中也应该有“=MINVERSE (系数矩阵区域)”的描述。d.同时按住Shift和Ctrl两键,按下回车键,第1步骤选定区域内的单元格所显示的结果即为系数矩阵的逆矩阵。 熟练掌握上述矩阵计算的步骤、方法,解决测量平差的线性方程组解算的问题就会变得简单、容易。3. 注意事项在计算过程中,受Excel软件本身的约束和限制,可能会带来不可预想的结果,因此需要注意一下几个事项:(1)受电子表格列数的限制,Excel最多可以计算有256列的矩阵。若要求解有更多列的矩阵,可以利用分块矩阵的办法,或者VBA 语言编程进行解决。(2)改变计算结果的精度,可作以下操作:格式菜单单元格数字数值小数位数,选定相应的数值即可。若需用双精度计算,设定小数位为15位,即可得到双精度的求解结果。(3)有关矩阵的计算,还有其他的运算功能,如相加、相减等,均可以在Excel编辑功能的复制与选择性粘贴中实现。3.1.3 核心问题的解决及技巧(1)测量平差计算传统上是以表格为基本框架进行的,Excel也沿用了这一模式,所不同是它每一个单元格都有函数、公式的编辑、计算功能,这样整个表格就有了生命力,这正是Excel成功的地方,是其精髓所在。在程序的编辑中,我们应始终明确这一概念。(2)观测数据应固定于某一列,自上而下依次输入,从而使整个输入过程变得连贯、顺畅。即使输入有误也便于修改。(3)同一类格式、文字、数据、计算,例如,提示文字、水平角、距离、坐标增量计算等应分列放置,只有这样,才能有条理,便于后续计算的有效利用。同时可用“拖放”功能,将其格式、公式等合理地复制到下面的单元格,瞬间完成程序的编写。(4)在本程序的编写过程中,需大量使用判断语句,特别是镶嵌式的判断语句,如果能灵活运用好该语句,程序的编写也就成功了一大半。例如,在后面的图5中的G6单元格为:=IF(D4+E5+180360,D4+E5+180,IF(D4+E5+180720,D4+E5+180-360,D4+E5+180-720)这是一个方位角推算语句,其中D4为起始方位角,E5为下一条边前进方向左角,该语句功能为:若D4+E5+180360,则G6=D4+E5+180;若360D4+E5+180720,则G6= D4+E5+180-360;否则G6= D4+E5+180-720。(5)因Excel中三角函数是以弧度为单位计算的,所以必须将以度分秒输入的角度转换成弧度。这就需要将度分秒分开,然后才能化成弧度。例如C6单元格为:=IF(B6=”,180,INT(B6)其中B6为度分秒为单位的角度。该语句意为:若B6是空格,即未观测,C6值为180度,否则为观测角的整度值。其中180度是为在本站未观测的情况下预设的角度,其目的是为在后续的计算中把方位角传递下去,从而保证整个程序在逻辑上的完整性。(6)程序编辑完成后,应对输入区外的所有单元格进行再设置,在“设置单元格格式”菜单下,选定“保护”子菜单下的“锁定”和“隐藏”,并在“工具”子菜单“保护”中的“保护工作表”下,用密码进行保护,从而确保程序在使用过程中不被修改或破坏。3.1.4 三角函数在Excel中的处理方法在测量计算中, 除了加、减、乘、除、开方外, 最常见的是角度与三角函数的处理。EXCEL 中备有常用的各种函数, 各种三角函数也很齐全, 但角度是按弧度为单位处理的, 在计算过程中需要涉及到角度的度、分、秒形式与弧度的相互转换。具体的转换公式如下: 1.“度.分秒”转换成度( 度小数)当把角度值输入到计算机时, 我们一般以“度. 分秒”格式输入, 其表示的数值并不是代表度, 如某角度178. 32066代表1783206. 6,而不是代表178.32066。在数据处理时常需要变换成以度为单位的角度值, 俗称度小数。在用计算器进行计算时有 “DEG”的功能键, 可以直接把“度. 分秒”值直接转换成度小数, 而EXCEL 中的DEGREE()函数是把弧度转换成度小数的函数, 不能直接计算, 需要应用公式来计算。计算机要在处理角度之前必须首先分别判断出度、分、秒值, 设某一以“度. 分秒”形式表示角度为B,则其度的:整数部 = INT(ABS(B)分值 = INT(ABS(B)*100)-INT(ABS(B)*100秒值 = INT(ABS(B)*10000)-INT(ABS(B)*100)*100度小数 = INT(ABS(B)+(INT(ABS(B)*100)-INT(ABS(B)*100)/60 +(INT(ABS(B)*10000)-INT(ABS(B)*100)*100)/3600以上是针对1614407这种形式的角度,而针对针对1614407.2则是以下表达式,其他情况类似:度小数 = INT(ABS(B)+(INT(ABS(B)*100)-INT(ABS(B)*100)/60+(INT(ABS(B)*100000)-INT(ABS(B)*100)*1000)/36000 这就是计算机完成角度判断并转换成以度为单位的计算公式。其中INT()为Excel 的取整函数,ABS()为Excel的取绝对值函数。2度小数转换成“度.分秒”在坐标方位角反算中, 需要把度小数化成“度. 分秒”形式, 设某一度小数为B, 则度的转换公式如下:整数部分 = INT(B)分值 = INT(B-INT(B)*60)秒值=INT(B-INT(B)*60-INT(B-INT(B)*60)*60)度.分秒 = INT(B)+( INT(B-INT(B)*60)/100+(INT(B-INT(B)*60-INT(B-INT(B)*60)*60)/10000以上是针对1614407这种形式的角度,而针对针对1614407.2则是以下表达式,其他情况类似:度.分秒 = INT(B)+( INT(B-INT(B)*60)/100+(B-INT(B)*60-INT(B-INT(B)*60)*60)/10000秒用反三角函数计算出来的角度是弧度值, 要变成“度.分秒”形式, 首先需要把弧度值变成度小数。计算时可以用DEGREE( ) 函数直接把弧度变成度小数; 反之, 用RADIANS( )函数可将度小数变换成弧度值。以上情况在附和导线的近似平差和条件平差中的都会遇到。3.1.5 小结Excel电子表格函数系统数学运算功能强大,使用操作简单,且有丰富的可视

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论