中国矿业大学2012届本科生毕业设计第 12 页
t,tNbb?BTPB,W?BTPl
t,1上式可简写成
??W?0Nbbx (2.45)
?有唯一解,上式称为间接平差法方程。式中系数阵Nbb为满秩矩阵,即R(Nbb)?t , x解之,得:
?1??(BTPB)?1BTPl (2.46) ??NbbxW 或 x?代入误差方程(2.42)将求出的 x,即可求得改正数V,从而平差结果为:
L?L?V,???X0?x? (2.47) X特别地,当P为对角阵时,即观测值之间相互独立,则法方程(2.45)的纯量形式为:
?1?[pab]x?2???[pat]x?t?[pal]?[paa]x?1?[pbb]x?2???[pbt]x?t?[pbl]?[pab]x??
?????????1?[pbt]x?2???[ptt]x?t?[ptl]?[pat]x?2.4.3按间接平差法求平差值的计算步骤
(1)根据平差问题的性质,选择t个独立量作为参数;
(2)将每一个观测量的平差值分别表达成所选参数的函数,若函数非线性要将其线性化,列出误差方程(2.42);
(3)由误差方程系数B和自由项组成法方程(2.45),法方程个数等于参数的个数t ;
??X0?x?,计算参数的平差值 X? (4)解算法方程,求出参数x?(5)由误差方程计算V,求出观测量平差值L?L?V; (6)评定精度。 2.4.4精度评定
1.单位权中误差
间接平差与条件平差虽采用了不同的函数模型,但它们是在相同的最小二乘原理下进行的,所以两法的平差结果总是相等的,这是因为在满足VTPV?min条件下的V是唯一
??L?V不因方法不同而异。 确定的,故平差值L22?0单位权方差 ?0的估值 ?,计算式仍然是 VTPV除以其自由度,即
VTPVVTPV????
rn?t (2.48)
20中误差为
VTPV?0??
n?t (2.49)
计算VTPV可以将误差方程代入后计算,顾及BTPV?0得
中国矿业大学2012届本科生毕业设计第 13 页
TTTTTTT??考虑到 VPV??lP(Bx?l)?lPl?lPBxlPB?(BPl)即,
??lTPl?WTx? (2.50) 得VTPV?lTPl?(BTPl)Tx2.协因数阵
?。已知Q?Q,根据前面的定义和有?(x在间接平差中,基本向量为L(l),X?),V和LLL??X0?x?,故 QX关说明知,X?X??Qx?x?,Qll?QLL。下面推求各基本向量的自协因数阵和
两两向量间的互协因数阵。
?TVTL?T ,则Z的协因数阵为: 设 ZT?LTX??QZZ?QLL?Q???XL?QVL???L?QLQLX?QX?X?QVX?QL?X?QLVQX?VQVVQL?VQLL???QX?L?? ?QVL??QL?L???式中对角线上子矩阵,就是各基本向量的自协因数阵,非对角线上子矩阵为两两向量间的
互协因数阵。
其基本思想是把各量表达成协因数已知量的函数,上述各量的关系式已知为:
L?l?L0 (2.51)
?1T??NbbxBpl (2.52)
??l (2.53) V?Bx??L?VL (2.54)
由前三个式子,按协因数传播定律容易得出
QLL?Q
?1T?1?1 QX?X??NbbBPQPBNbb?Nbb?1T?1TTQX?L?NbbBPQ?NbbB?QLX? ?1TTQVL?BQX?L?Q?BNbbB?Q?QLV ?1?1TQVX??BQX?X??QLX??BNbb?BNbb?0?QX?V
TTQVV?BQX?X?B?BQX?L?QLX?B?Q?1T?1T?1T?BNbbB?BNbbB?BNbbB?Q ?1T?Q?BNbbB再计算与(2.54)式有关的协因数阵,得
?1TTQL?L?Q?Q? VL?BNbbB?QLL?1TT?1?1TQL?QPBN?0?BN?Q?X??Q(NbbBP)?Q??L? bbbbVXXTQL?V?QLV?Q? VV?0?QVL?1T QL?L??Q?QLV?QVL?QVV?BNbbB?、L?与改正数V的互协因数阵为零,说明L?与V,X?与V统计不相关,这平差值X中国矿业大学2012届本科生毕业设计第 14 页
是一个很重要的结果。
3.参数函数中的误差
在间接平差中,解算法方程后首先求得的是t个参数。有了这些参数,便可根据它们来计算该平差问题中任一量的平差值(最或然值)[1]
在间接平差中,任何一个量的平差值都可以由平差所选参数求得,或者说都可以表达为参数的函数。下面从一般情况来讨论如何求参数函数的中误差的问题。
假定间接平差问题中有t个参数,设参数的函数为:
?,X?,?,X?) ???(X?12t (2.55)
??X0?x将X?j(j?1,2,?,t)代入上式后,按泰勒公式展开,取至一次项,得: jj??f0?f1x??f1x?1?f2x?2??ftx?t或 ???1?f2x?2??ftx?t?
(2.56)
?或???是一样的。通常把(2.56)式称为参数函数的对于评定函数的精度而言,给出?权函数式,简称权函数式。
??FTx? 令 FT??f1f2?ft?,则: ???1?的协因数为: ?因QX?X??Nbb,故函数
TT?1 Q?????FQX?X?F?FNbbF (2.57)
?的权函数式为: 一般,设有函数向量?m,1??FTx? ??m,1m,tt,1
(2.58)
即用来计算m个函数的精度,其协因数阵为:
TT?1 Q?????FQX?X?F?FNbbFm,m (2.59)
T????X?X1X2?Xt的协因数阵,即: QX?X?是参数向量
??QX?X??QX?X?11??QX?X???21???Q???XtX1QX?X?12QX?2X2??QX?X?t2?QX?X??1t??QX?X??2t?
?????QX?X?tt?jXj其中,对角线元素QX???的协因数,故X?的中误差为: 是参数Xjj?X?j??0QX?jXj? (2.60)
?的协方差阵为: (2.58)式的函数?22T?1D??????0Q??????0(FNbbF)m,m
(2.61)
中国矿业大学2012届本科生毕业设计第 15 页
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 ; 法方程:-W= 0 ; 改正数计算:V= ; 计算: ;
??f(L?,L?,?,L?) 平差值的函数:F12nT 平差值的协因数计算:QFF?fQf?fTQATN?1AQf
公式中各种符号的含义:观测向量 L;相应的权阵 P;条件方程的系数矩阵A;条件改正数 V;条件闭合差 W;法方程联系数矩阵 K;平差值的函数系数阵f。 2.计算法方程
平差计算的数学模型,全都是以矩阵的形式给定的。如果掌握了矩阵计算的方法,所有的计算将迎刃而解。
由于测量计算作业过程中采用不同的数学模型,以及图形条件的多样化,对于条件方程的产生,在本文所述的解算方案当中,还不能自动完成;当然,可以完成部分类型的条件方程(如附和导线),还可以利用Excel中的VBA功能编程处理,但将可能给计算者增加了难度。以下是对如何使用Excel内置函数进行矩阵计算的方案进行阐述。
中国矿业大学2012届本科生毕业设计第 16 页
(1)数据的输入
将系数矩阵的数据填入电子表格的相应区域中。
(2)矩阵的转置
a.选中电子表格中系数矩阵的数据区域,点击右键,选击‘复制’菜单选项。
b.在电子表格中点击系数矩阵数据区域以外的任意单元格,点击右键,选击“选择性粘帖”菜单项。
c.点击“选择性粘帖”菜单项,出现“选择性粘帖”对话框;该对话框有三部分选项,第一部分“粘帖”,选中“全部”选项,第二部分“运算”,选中“无”选项,第三部分选中“转置”选项,单击确定,即可完成系数矩阵数据的转置操作。 (3)矩阵乘运算
a.选中电子表格中的空白区域,该区域的行数、列数等于矩阵相乘所得矩阵的行数、列数,点击工具栏中的(函数)工具按钮。
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位,即可得到双精度的求解结果。