欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Matlab的导线网坐标计算设计.docx

    • 资源ID:13044089       资源大小:422.83KB        全文页数:38页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Matlab的导线网坐标计算设计.docx

    1、基于Matlab的导线网坐标计算设计基于Matlab的导线网坐标计算设计东华理工大学长江学院毕业设计 论文题目:基于Matlab的导线网坐标计算 English Title:Traverse Network Coordinate Calculation Based On Matlab学生姓名:申请学位门类:工学学士 专 业:测绘工程 系 别:测绘工程系摘 要导线计算是在所有测量工作中经常遇见的问题之一,同时导线计算的方法也有很多种,本文主要是利用简单易懂的Matlab对附合导线、闭合导线和支导线进行相应的平差计算。文章首先介绍了附合导线、闭合导线、支导线基本概念和计算方法,其次利用Matlab

    2、计算机编程语言对三种导线的计算进行编程实现;最后通过实例验证,本文利用Matlab编写的程序正确,通过输入边长和角度,能够快速的得到各控制点的准确坐标。关键词:Matlab;导线计算;精度评价;计算机编程ABSTRACTTraverse calculated in all measurements often met one of the problems,Also there are many kinds of traverse the way.This article mainly is to use simple Matlab to connecting traverse、closed

    3、traverse、spur traverse to the corresponding adjustment calculation The article first introduces the connecting traverse、closed traverse、spur traverse is basic concept and calculation method.Secondly using Matlab computer programming language was realized by programming calculation of three traverse.

    4、At last,through example validation, In this paper, using the Matlab program, right through the input variable length and Angle, able to quickly get the accurate coordinates of each control point.Key words:Matlab; Traverse Calculated ; Precision Evaluation; Computer Programming1. 绪 论 11.1 导线坐标计算常用的方法

    5、比较 11.2 基于Matlab的导线计算背景 22. 导线类型及特点 32.1 导线的布设 32.1.1 导线的布设形式 32.2 导线的观测 42.2.1 转折角的观测 42.2.2 导线边长观测 52.2.3 三联脚架法导线观测 52.3 导线测量的近似平差计算 62.3.1 附合导线的计算 62.3.2 闭合导线的计算 72.3.3 支导线的计算 83. 基于Matlab的导线计算程序设计 103.1 计算程序概述 103.1.1 计算程序特点 103.1.2 计算程序的基本要求 103.1.3 计算程序的设计步骤 103.1.4 坐标计算处理过程 113.2 附合导线计算程序 113

    6、.3 闭合导线计算程序 123.4 支导线计算程序 134. 三种导线计算实例 144.1 附合导线算例 144.2 闭合导线算例 184.3 支导线算例 21结 论 25致 谢 26参考文献 27附录1 28附录2 30附录3 32绪 论导线坐标计算是在所有测量工作中经常遇见的问题之一,同时导线计算的方法也有很多种,主要包括:Excel办公软件、CASIO计算器、VB编程等,每种方法各有优缺点,本文主要是利用简单易懂的Matlab对附和导线、闭合导线和支导线进行相应的坐标平差计算。文章首先介绍了附合导线、闭合导线、支导线基本概念和计算方法,其次利用Matlab计算机编程语言对三种导线的计算进

    7、行编程实现;最后通过实例验证,本文利用Matlab编写的程序正确,通过输入边长和角度,能够快速的得到各控制点的准确坐标。1.1 导线坐标计算常用的方法比较(1)Excel办公软件我们知道导线测量的成果计算虽然有多种方法,但与我们习惯的导线成果计算格式不统一,输入数据不直观,使用起来不习惯,很难推广。针对这种情况,我们按照常用的导线成果计算本的样式,直接利用excel办公软件。EXCEL是常用的办公软件,利用其自带的函数,和其强大的数据处理能力,创建一个EXCEL模板,利用预先编辑好的公式,输入外业测量成果后自动进行内业的成果计算。能够根据输入的外业测量数据自动进行坐标成果正算;反过来,又能根据

    8、两点的坐标自动反算出两点之间的距离和方位角,能自动识别测量路线,计算导线间水平角;也能进行简单的条件分析,对一些误输入能自动识别;还能够有效的保护公式和表格,防止误操作的更改,或者蓄意的修改计算结果。(2)CASIO计算器CASIO计算器是测量人员在野外作业或矿山井下一线作业时经常使用的便携式计算器,它与一般计算器所不同的是有个自编程序步。CASIO系列可编程计算器,作为内、外业计算工作的辅助设备。具有体积小、重量轻、携带方便、多行显示、存贮量大、工作方便等特点,编制好测量程序后,计算器通过程序计算,不需要测量人员进行逐步计算,从而消除了人为输入误差。而且计算器在计算时小数位数是自身进行取舍,

    9、所以它的精度可以得到保证,并且比人工逐步计算要高。在导线控制测量中,将复杂的平差计算过程编成计算器程序,简化计算过程减轻测量人员的内业计算量。内业计算时,只需按照提示输入相应观测值便可得到平差成果,并进行必要的精度评定,简单快捷比专业的平差软件更容易掌握。主要缺点是费时、工作量大、还易出错。(3)VB编程采用VB编程进行导线计算,优点是使用方便、直观、计算速度快。采用计算器计算某一导线,可能需要一两天时间,而采用程序计算可能只需几分钟到十几分钟时间。目前市场上,可以买到大型严密平差计算程序,但对于许多中小型日常的测量计算,还需要技术人员自己去开发;例如:碎部测量、支导线测量、面积计算、解析交会

    10、等。1.2 基于Matlab的导线计算背景本文依据Matlab对三种导线计算进行编程设计,主要因为该语言相对简单和直接,它主要有如下特点:(1)编程效率高Matlab是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比VB和C等语言更加接近我们书写计算公式的思维方式,用Matlab编写程序犹如在演算纸上排列出公式与求解问题。因此,Matlab语言也可通俗地称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂。(2)用户使用方便 Matlab语言是一种解释执行的语言,它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编写程序一般都要

    11、经过四个步骤:编辑、编译、链接,以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在它们之间做瀑布型的循环。Matlab语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以至语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。具体的说,Matlab运行时,如直接在命令行输入Matlab语句(命令),包括调M文件的语句,每输入一条语句,就立即对其进行处理,完成编译、链接和运行的全过程。又如,将Matlab源程序编辑为M文件,由于Matlab磁盘文

    12、件也是M文件,所以编辑后的源文件就可以直接运行,而不需要进行编译和链接。在运行M文件时,如果有错,计算机屏幕上会给出详细的出错信息,用户经修改后再执行,直到正确为止。所以可以说,MATLAB语言不仅是一种语言,广义上讲是一种该语言的开发系统,即语言调试系统。(3)扩充能力强,交互性好高版本的的Matlab语言有丰富的库函数,在进行复杂的数序运算时可以直接调用,而且Matlab的库函数同用户文件在形成上一样,所以用户文件也可作为Matlab的库函数来调用。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高Matlab的使用效率和扩充它的功能1。2. 导线类型及特点2.1 导线的布设

    13、2.1.1 导线的布设形式导线可被布设为单一导线和导线网。两条以上导线的汇聚点,称为导线的结点。单一导线与导线网的区别,在于导线网具有结点,而单一导线则不具有结点。按照不同情况和要求,单一导线可被布设为附和导线、闭合导线和支导线。导线网可被布设为自由导线网和附合导线网。(1) 附合导线如下图1所示,导线起始于一个已知控制点而终止于另一个已知控制点。已知控制点上可以有一条或几条定向边与之相连接,也可以没有定向与之相连接。图1 附合导线(2) 闭合导线如图2所示,由一个已知控制点出发,最终又回到这一点,形成一个闭合的多边形。在闭合导线的已知控制点上至少应该有一条定向边与之相连接。由于闭合导线是一种

    14、可靠性极差的控制网图形,在实际测量工作中应避免单独使用。 图2 闭合导线(3) 支导线如图3所示,从一个已知控制点出发,既不附合于另一个已知控制点,也不闭合于原来的起始控制点。由于支导线缺乏检核条件,故一般只限于地形测量中的图根导线中采用。 图3 支导线2.2 导线的观测导线的观测包括转折角的观测和导线边的观测以及导线点高程的观测。2.2.1 转折角的观测转折角的观测一般采用测回法进行。当导线点上应观测的方向数多于2个时,应采用方向观测法进行。各测回间应按规定进行水平度盘配置。各等级导线测量水平角观测的技术要求见表1: 表1 各等级导线测量水平角观测的技术要求在进行国家等级导线转折角观测时,应

    15、以奇数测回和偶数测回分别观测导线前进方向的左角和右角;左角和右角分别取中数后,再计算圆周角闭合差,值对于三、四等导线应分别不超过3.5和5.0。在进行一、二级和三级导线转折角观测时,一般应观测导线前进方向的左角。对于闭合导线,若按逆时针方向进行观测,则观测的导线角既是闭合多边形的内角,又是导线前进方向的左角。对于支导线,应分别观测导线前进方向的左角和右角,以增加检核条件。当观测短边之间的转折角时,测站偏心和目标偏心对转折角的影响将十分明显。因此,应对所用仪器、觇牌和光学对中器进行严格检校,并且要特仔细进行对中和精确照准。2.2.2 导线边长观测导线边长可采用电磁波测距仪测量,也可采用全站仪在测

    16、取导线角的同时测取导线边的边长。导线边长应对向观测,以增加检核条件。电磁波测距仪测量的通常是斜距,还需观测竖直角,用以将倾斜距离改变为水平距离,必要时还应将其归算到椭球面上和高斯平面上。2.2.3 三联脚架法导线观测三联脚架法通常使用三个既能安置全站仪又能安置带有觇牌的基座和脚架,基座应有通用的光学对中器。如图4所示,将全站仪安置在测站i的基座中,带有觇牌的反射棱镜安置在后视点i-1和前视点i+1的基座中,进行导线测量。迁站时,导线点i和i+1的脚架和基座不动,只取下全站仪和带有觇牌的反射棱镜,在导线点i+1上安置全站仪,在导线点i的基座上安置带有觇牌的反射棱镜,并将导线点i-1上的脚架迁至导

    17、线点i+2处并予以安置,这样直到测完整条导线为止。在观测者精心安置仪器的情况下,三联脚架法可以减弱仪器和目标对中误差对测角和测距的影响,从而提高导线的观测精度,减少了坐标传递误差。 i-1 i i+1 i+2 图4 三联脚架法导线观测在城市或工业区进行导线测量时,可在夜间进行作业,以避免白天作业时行人、车辆的干扰,夜间作业,空气稳定、仪器振动小,并可避免太阳暴晒,从而可提高观测成果的精度。2.3 导线测量的近似平差计算导线测量的目的是获得各导线点的平面直角坐标计算的起始数据是已知点坐标、已知坐标方位角,观测数据为观测角值和观测边长。通常情况下,导线平差应进行严密平差,但对于二级及其以下等级的图

    18、根导线允许对以单一导线、单结点导线网采用近似平差方法进行计算。导线近似平差的基本思路是将角度误差和边长误差分别进行平差计算,先进行角度闭合差的分配,在此基础在进行坐标闭合差的分配,通过调整坐标闭合差,以达到角度的剩余误差和边长误差的目的。在进行导线测量平差计算之前,首先要按照规范要求对外业观测成果进行检查和验算,确保观测成果无误并符合限差要求,然后对边长进行加常数改正、乘常数改正、气象改正和倾斜改正(改正方法见数字测图原理与方法第五章),对角度和边长进行归心改正(有偏心观测时),以取消系统误差的影响2。2.3.1 附合导线的计算如下图5为附合导线,其坐标平差计算步骤如下:图5 附合导线(1)

    19、方位角计算 (2-1)判断或0, 以便判断所在相应象限,加上或减去180度,推算出每条导线边的坐标方位角。(2) 由地面实测点的转角依据公式计算其角度闭合差用,依次加减,得出最后的方位角,用计算的方位角=闭合差值。 (3) 将角度闭合差除以测边数分配到各观测角中角度闭合差调整中,观测角为左角时反符号平均分配到各观测角中,观测角为右角时,则按闭合差同符号分配到测角,如有小数,按长边少分,短边多分原则。(4) 用调整后的观测角计算方位角(5) 坐标增量计算, (2-2) (6) 测站测出各边的距离,用调整后的方位角进行计算各点计算坐标(7) 计算导线点坐标 闭合差为: =计算终点X坐标-设计终点X

    20、坐标 =计算终点Y坐标-设计终点Y坐标 将闭合边长差按路线边长与总边长的比例反向分配到坐标增量后计算各点坐标。2.3.2 闭合导线的计算如图6所示为闭合导线,闭合导线的精度评定与具有两个连接角的附和导线精度评定相同,可以采用角度闭合差和导线全长相对闭合差来评定,闭合导线的可靠性较差,在实际测量中避免单独使用。由于角度观测值存在误差,使得多边形内角和的计算值不等于其理论值,而产生角度闭合差,即 图6 闭合导线(1)角度闭合差计算 (2-3) , n为实测内角个数 应进行重测,如果则可进行平差计算。(2)角度闭合差改正 (反号平均分配) (2-4)(3)计算改正后的角度 (2-5)(4)推算方位角

    21、 公式为: (2-6) 判断x或或0以便判断所在相应象限,加上或减去180度,推算出每条导线边的坐标方位角。 (5) 计算坐标增量 , (2-7)(6)坐标增量闭合差 , (2-8)(7)坐标增量闭合差的分配坐标改正数的计算: (2-9)计算改正后的坐标增量: (2-10)(8)计算坐标 (2-11)2.3.3 支导线的计算以下图7为例,支导线计算步骤如下: 图7 支导线(1)坐标方位角推算设直线MA的坐标方位角已知为,按方位角推算公式:计算导线边的坐标方位角。 (2)坐标增量的计算 由各边的坐标方位角和边长,按公式、,计算坐标增量。 (3)导线点坐标计算按公式、,计算各导线点坐标3。 3.

    22、基于Matlab的导线计算程序设计3.1 计算程序概述3.1.1 计算程序特点相对于手工计算,坐标计算程序计算的主要特点是计算速度快、精度高、数据处理自动化,从而把人从繁重的计算工作中解放出来。从程序设计的角度看,程序设计与平差计算相对独立。在平差手工计算时,我们总是面对需要计算的具体问题,所以其数据是特定的,计算过程由人实时控制;在计算机程序计算中,在程序设计时数据是抽象的,必须考虑到实际计算中问题的多样性,以及数据计算过程的自动化,所以在程序设计时必须考虑需要处理的所有问题的普遍性和规律性。另外,相对于手工计算,在程序计算时,选择平差方法的依据不同。在手工计算时,我们通常希望尽量降低计算工

    23、作量。当必要观测数t大于多余观测数r时,我们可以选择条件平差;当必要观测数t小于多余观测数r时,我们可以选择间接平差,这样,可以降低平差计算量。然而,在计算机程序计算时,由于计算机计算的快速高效性,我们不是很关心计算量的问题,而把主要精力集中于方法实现的现实性方面,也就是要求该方法具有较强的规律性,便于程序设计的技术实现。在坐标计算程序设计中,使用间接平差,对于一般控制网,误差方程形式统一、规律性强、便于程序设计;而使用条件平差,误差方程形式多样、规律性差,不利于程序设计。所以,在本课程中,我们主要使用间接平差方法进行程序设计。总之,我们在选择数学模型的时候,一定要考虑算法同计算机程序设计的特

    24、点相统一。3.1.2 计算程序的基本要求坐标计算程序设计与其它程序设计相同,应当满足一定的要求:(1)程序逻辑结构简单,清晰易读,符合结构化程序设计要求,便于扩展;(2)运算速度快,占用内存小,内外存之间的交换不宜过于频繁;(3)数学模型及计算方法正确、先进,计算结果精度高;(4)适应性强,便于移植,充分考虑各种可能形式,尽量满足不同要求与需要。3.1.3 计算程序的设计步骤(1) 结构总体设计;(2) 数据结构设计;(3) 确定软件各组成部分的算法及数据组织;(4) 选定某种表达式来描述各种算法;(5) 程序编写;(6) 程序调试。3.1.4 坐标计算处理过程(1)数据输入;(2)角度闭合差

    25、计算及分配;(3)方位角推算;(4)坐标增量计算;(5)坐标增量闭合差分配;(6)坐标计算。3.2 附合导线计算程序附合导线包括一个连接角的附合导线、两个连接角的附合导线和无连接角的附合导线等,依据本文介绍的附合导线计算方法和基本公式,依据matlab语言对附合导线进行编程,主要的程序代码如下(具体程序代码见附录1): %观测数据输入 n=input(请输入导线边数); string1=(char(请输入第),a,(条导线边长); string2=(char(请输入第),s,(个转折角); %起算数据输入 %起算方位角的计算 %角度闭合差计算 fb=fwjAB-fwjCD+sum(jiao1)

    26、-n*180; %各观测角改正后的角度 jiao2=jiao1+(fb/6)*(-1); %真方位角的计算 fwjz(k)=fwjAB+jiao2(k); fwjz(k)=fwjz(k-1)+jiao2(k)-180; %坐标闭合差计算 xz(i)=bian(i)*cosd(fwjz(i); yz(i)=bian(i)*sind(fwjz(i); fx=xA+sum(xz)-xC; fy=yA+sum(yz)-yC; %坐标闭合差分配 vx(i)=(-1)*fx/sum(bian)*bian(i); vy(i)=(-1)*fy/sum(bian)*bian(i); %坐标计算 x(1)=xA+

    27、xz(1)+vx(1) y(1)=yA+yz(1)+vy(1); x(i)=x(i-1)+xz(i)+vx(i); y(i)=y(i-1)+yz(i)+vy(i); 3.3 闭合导线计算程序闭合导线就是已知一条边,测量若干个边长和夹角后又闭合到已知边的导线测量方法。通过计算平差后,可计算得到经过的未知点的平面坐标。依据本章介绍的闭合导线计算方法和基本公式,依据matlab语言对闭合导线进行编程,主要的程序代码如下(具体程序代码见附录2): %观测数据的输入 n=input(请输入闭合导线的点数); string1=(char(请输入第),a,(条导线的边长:); string2=(char(请

    28、输入第),b,(个转折角:); %起算数据的输入 string3=(char(请输入起始已知方向的起算方位角); %角度闭合差的计算 fb=sum(jiao2)-(n-2)*180; %真方位角计算 fwjz(1)=fwj2+jiao2(1)+v(1)-180; %坐标闭合差计算 xzq=cosd(fwj2)*bian(1); yzq=sind(fwj2)*bian(1); xz(i)=cosd(fwjz1(i)*bian(i+1); yz(i)=sind(fwjz1(i)*bian(i+1); fx=xzq+sum(xz); fy=yzq+sum(yz); fs=sqrt(fx2+fy2);

    29、 k=fs/sum(bian); %坐标计算 X(1)=x+xzq+vx(1); Y(1)=y+yzq+vy(1); X(i)=X(i-1)+xz(i-1)+vx(i); Y(i)=Y(i-1)+yz(i-1)+vy(i); 3.4 支导线计算程序由已知控制点出发,不附合、不闭合于任何已知点的导线。依据本章介绍的支导线计算方法和基本公式,依据matlab语言对支导线进行编程,主要的程序代码如下(具体程序代码见附录3): %观测数据输入 n=input(please the 待定点个数:); s1=char(please input the 边长 of a:); s2=char(please i

    30、nput the 转折角 of a:); jiao2(i)=degree1+minute1/60+second1/3600; %已知数据输入 %方位角推算 fwj(j)=f0+jiao2(j)-180; fwj(j)=fwj(j-1)+jiao2(j)-180; %坐标增量计算 xzl(k)=S(k)*cosd(fwj(k); yzl(k)=S(k)*sind(fwj(k); %坐标推算 x(l)=x0+xzl(l); y(l)=y0+yzl(l); x(l)=x(l-1)+xzl(l); y(l)=y(l-1)+yzl(l);4. 三种导线计算实例4.1 附合导线算例利用现实中获得的一组附合导线数据,输入到所设计的matlab平差程序进行实现,如下图8所示:图8 附合导线如上图8所示,已知两控制点平面坐标分别为:B(2507.69,1215.63)、C(2166.72,1757.29),其中坐标方位角=2375930,各观测角数据如下:1 =990100,2 =1674536,3=1231124,4 =1892036,5 =1795918,C=1292724,其导线各边长分别为:S12=225.85mS23=139.03m,S34=1


    注意事项

    本文(基于Matlab的导线网坐标计算设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开