中国矿业大学2012届本科生毕业设计第 17 页
(3)有关矩阵的计算,还有其他的运算功能,如相加、相减等,均可以在Excel编辑功能的‘复制’与‘选择性粘贴’中实现。 3.1.3 核心问题的解决及技巧
(1)测量平差计算传统上是以表格为基本框架进行的,Excel也沿用了这一模式,所不同是它每一个单元格都有函数、公式的编辑、计算功能,这样整个表格就有了生命力,这正是Excel成功的地方,是其精髓所在。在程序的编辑中,我们应始终明确这一概念。
(2)观测数据应固定于某一列,自上而下依次输入,从而使整个输入过程变得连贯、顺畅。即使输入有误也便于修改。
(3)同一类格式、文字、数据、计算,例如,提示文字、水平角、距离、坐标增量计算等应分列放置,只有这样,才能有条理,便于后续计算的有效利用。同时可用“拖放”功能,将其格式、公式等合理地复制到下面的单元格,瞬间完成程序的编写。
(4)在本程序的编写过程中,需大量使用判断语句,特别是镶嵌式的判断语句,如果能灵活运用好该语句,程序的编写也就成功了一大半。例如,在后面的图5中的G6单元格为:=IF(D4+E5+180<360,D4+E5+180,IF(D4+E5+180<720,D4+E5+180-360,D4+E5+ 180-720))这是一个方位角推算语句,其中D4为起始方位角,E5为下一条边前进方向左角,该语句功能为:若D4+E5+180<360,则G6=D4+E5+180;若360 (5)因Excel中三角函数是以弧度为单位计算的,所以必须将以度分秒输入的角度转换成弧度。这就需要将度分秒分开,然后才能化成弧度。例如C6单元格为:=IF(B6=””,180,INT(B6))其中B6为度分秒为单位的角度。该语句意为:若B6是空格,即未观测,C6值为180度,否则为观测角的整度值。其中180度是为在本站未观测的情况下预设的角度,其目的是为在后续的计算中把方位角传递下去,从而保证整个程序在逻辑上的完整性。 (6)程序编辑完成后,应对输入区外的所有单元格进行再设置,在“设置单元格格式”菜单下,选定“保护”子菜单下的“锁定”和“隐藏”,并在“工具”子菜单“保护”中的“保护工作表”下,用密码进行保护,从而确保程序在使用过程中不被修改或破坏。 3.1.4 三角函数在Excel中的处理方法 在测量计算中, 除了加、减、乘、除、开方外, 最常见的是角度与三角函数的处理。EXCEL 中备有常用的各种函数, 各种三角函数也很齐全, 但角度是按弧度为单位处理的, 在计算过程中需要涉及到角度的度、分、秒形式与弧度的相互转换。具体的转换公式如下: `1.“度.分秒”转换成度( 度小数) 当把角度值输入到计算机时, 我们一般以“度. 分秒”格式输入, 其表示的数值并不是代表度, 如某角度178. 32066代表178°32′06. 6″,而不是代表178.32066°。 在数据处理时常需要变换成以度为单位的角度值, 俗称度小数。在用计算器进行计算时有 “DEG”的功能键, 可以直接把“度. 分秒”值直接转换成度小数, 而EXCEL 中的DEGREE()函数是把弧度转换成度小数的函数, 不能直接计算, 需要应用公式来计算。计算机要在处理角度之前必须首先分别判断出度、分、秒值, 设某一以“度. 分秒”形式表示角度为B,则其度的: 整数部 = INT(ABS(B)) 中国矿业大学2012届本科生毕业设计第 18 页 分值 = 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 以上是针对161°44′07″这种形式的角度,而针对针对161°44′07.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 以上是针对161°44′07″这种形式的角度,而针对针对161°44′07.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电子表格函数系统数学运算功能强大,使用操作简单,且有丰富的可视化输出,因而平差过程直观,平差成果与其它软件兼容性强使用方便。 修改更正方便。在运算过程中,如发现某个单元格的数据有误时,重新输入正确值后,Excel电子表格将自动重新计算与之相关的运算并输出新的计算结果。因此,我们对Excel电子表格作适当的设置,Excel同样可以进行测量平差的迭代计算。 矩阵的各种运算,必需满足矩阵运算法则,否则矩阵运算失败。另外各个矩阵可以分别输入或输出在不同的工作表中,工作表可以根据各自的习惯将其命名,如“辅助”、“平差结果表”等,给使用者和阅读者方便。 中国矿业大学2012届本科生毕业设计第 19 页 3.2 Excel在附和导线近似平差中的应用 3.2.1 单一附和导线近似平差 1.角度平差[2] 角度平差的目的是消除转角观测误差引起的方位角闭合差,求的各转角的平差值。方法是先计算方位角闭合差,当时,将反号平均分配给各转角,即: (3.1) (3.2) 式中,n为转角个数;为转角改正数;为转角平差值。 2.坐标平差 坐标平差的目的是消除因转角和边长观测误差引起的坐标闭合差和,求得各点的坐标平差值。方法是用平差角和观测边长D先推算各点间坐标增量近似值,进而求得坐标闭合差、和导线全长闭合差及导线全长相对闭合差K。当时,将坐标闭合差按边长成比例反号分配给各坐标增量,求得坐标增量的平差值和各点坐标平差值,即: 各边方位角: (3.3) 各点坐标增量: (3.4) 坐标闭合差: (3.5) 导线全长闭合差和导线全长相对闭合差为: (3.6) (3.7) 坐标增量改正数: (3.8) 坐标增量平差值: (3.9) 各点坐标平差值: (3.10) 3.2.2单一附和导线近似平差实例 附合导线是平面控制测量中常用的布网方式。在一级导线或二级导线外业测量完成后,需要进行近似平差,求得每个导线点的坐标值。采用手工计算,工作量较大。Excel具有较强的表格化计算能力,经过简单的表格编制和有关公式编辑就可用来近似平差单一附合导线。 附合导线近似平差的主要计算内容包括:(1)计算角度闭合差及其改正数;(2)计算导线边方位角;(3)计算坐标增量;(4)计算坐标增量闭合差并对其调整;(5)计算各导线点坐标;(6)计算相对精度。 进行坐标增量闭合差调整时,一般采用与对应边长成正比例的原则来计算坐标增量的改正数。 例题 图3.1所示为单一附和导线。A、B、C、D为已知点,表3.1中的已知数据有起点B与终点C的坐标;起边与终边的方位角和: 各转角和各边长D分别列于下表。试对这一导线进行近似平差。 表3.1 中国矿业大学2012届本科生毕业设计第 20 页 已知数据/m B, ,) 导线边长观测值/m 已知方位角 转折角度观测值 图3.1 单一附和导线 在图3.2、图3.3中可以看到近似平差后的结果。 (1)编制附合导线计算表,录入已知数据 附合导线计算表的样式如图3.2所示。依照图示编辑好表格(注意表格中的合并操作及有关单元格小数位数的设置)向表中录入已知点的坐标值,见图3.3中I列和J 列中有下划线的数据。在E7和E17格中录入AB边和CD边的方位角值,在区域B8:B16 中录入角度观测值,在区域F9:F15 中录入导线边观测值。 (2)转化的角度表达形式 在图3.3的B5格中输入下式,把角度值由度分秒形式转化为度的形式: =INT(ABS(附和导线近似平差!B8))+(INT(ABS(附和导线近似平差!B8)*100)- INT(ABS(附和导线近似平差!B8))*100)/60+(INT(ABS(附和导线近似平差!B8)*10000) -INT(ABS(附和导线近似平差!B8)*100)*100)/3600 用鼠标选中B5单元格(此时,在该单元格的右下角处有一个小黑块,这个小黑块称为“填充柄”。将鼠标指向填充柄时,鼠标的形状就会变为一个小十字。)向下拖动填充柄覆盖B5:B13区域,就可以把单元格B5中的公式复制到B5:B1区域中所有单元格中,同时计算出各角值的度的形式。 (3)计算角度闭合差及其改正数 在图3.3的C4格中输入:=INT(ABS(附和导线近似平差!E7))+(INT(ABS(附和导线近似平差!E7)*100)-INT(ABS(附和导线近似平差!E7))*100)/60+(INT(ABS(附和导线近似平差!E7)*10000)-INT(ABS(附和导线近似平差!E7)*100)*100)/3600 在图3.3的C6格中输入下式,计算边的方位角: =IF(C4+B5+180-360<0,C4+B5+180,IF(C4+B5+180-720<0,C4+B5+180-360,C4+B5+18 中国矿业大学2012届本科生毕业设计第 21 页 0-720))选中C6格,向下拖动填充柄覆盖C6:C14 区域,计算出各单元格中相应的方位角值。 为计算出方位角闭合差,在图3.2的C24中输入:=(辅助!C14-辅助!E14)*3600得到的秒值形式,为计算各角度观测值的改正数,在C8的改正数中输入:-C24/C26,C26中输入了观测角的个数。 计算后得改正数的值: = -6″。 (4)计算改正后的方位角值 在图3.3的E4中输入: =INT(ABS(D4))+(INT(ABS(D4)*100)-INT(ABS(D4))*100)/60+(INT(ABS(D4)* 10000)-INT(ABS(D4)*100)*100)/3600 上式中,D4为已知坐标方位角; 在E6中输入下式,计算平差后的方位角 =IF(E4+F5+180-360<0,E4+F5+180,IF(E4+F5+180-720<0,E4+F5+180-360,E4+F5+180-720)) 参考步骤(2),用此式填充区域E6:E14,即可计算出改正后各边的方位角。 (5)计算坐标增量 分别在图3.2的G9和I9中输入下两式: =F9*COS(辅助!G6) =F9*SIN(辅助!G6) 参考步骤(2),将上两式分别复制并填充到区域G9:G15 和区域I9:I13中,即可计算出各坐标增量。 (6)计算坐标增量改正值 在图3.2的G24和G26中分别输入下两式,计算纵横坐标增量闭合差和: =G20-(辅助!I13-辅助!I5) =I20-(辅助!J13-辅助!J5) 计算后,G24和G26中的值分别为:-0.026 和-0.057。 在图3.2的H9和J9 中分别输入下两式,计算纵横坐标增量的改正数: =-(G24/F20)*F9*1000 =-(G26/F20)*F9*1000 参考步骤(2),将上两式分别复制并填充到区域H9:H15 和区域J9:J15中,即可计算出各坐标增量的改正数。 (7)对坐标增量进行改正,并计算各导线点坐标值 在图3.2的M10和N10中分别输入下两式,计算导线点2的纵坐标X和横坐标Y: =M8+K9 =N8+L9 上两式中的M8、N8是已知点坐标,K9、L9为X、Y的坐标增量平差值。 参考步骤(2),计算填充出区域M10: M16和区域N10:J16中的值,即为各导线点坐标的计算结果。其中,I14 和J14 中的计算值可与先前的已知值对比,看计算结果是否还存在不符值,其中点C坐标可作为检核点。 (8) 相对中误差