Helmert方差分量估计算法论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Helmert方差分量估计算法论文
摘要:本文在实现计算编程基础上,结合具体工程仿真计算说明Helmert方差分量估计在对深化平差计算理论和工程实践中有重要的借鉴意义。
1 Helmert方差分量估计理论
Helmert方差分量估计是通过对观测量较多且分类合理的平差数据通过验后方差—协方差进行重新定权,不断调整观测值的权比关系,直到达到迭代结果收敛。
Helmert方差—协方差分量估计的计算步骤为:
2 Helmert方差分量估计的编程处理
本文采用C#语言对Helmert方差分量估计在测量平差中编程计算的算法进行阐述,为了便于矩阵的运算,需要制作一个Matrix.cs文件并引用。
定义所有观测量权矩阵PP,固定权观测量PP0,第i个观测量分量权矩阵为PPi:
根据误差方程公式所有观测量 mtxMultiplyBTPB,固定权观测量mtxMultiplyBTPB0,第i个观测量方差分量mtxMultiplyBTPBi,分别进行转秩矩阵运算。
MatrixmtxMultiplyBTPB
=mtxTransposeBB.Multiply(mtxPP).Multiply(mtxBB);
MatrixmtxMultiplyBTPBi
=mtxTransposeBBi.Multiply(mtxPPi).Multiply(mtxBBi);
MatrixmtxMultiplyBTPB0
=mtxTransposeBB0.Multiply(mtxPP0).Multiply(mtxBB0);
Matrix mtxTransposeBB=mtxBB.Transpose();
Matrix mtxTransposeBBi=mtxBBi.Transpose();
Matrix mtxMultiplyBTPB0=mtxBB0.Transpose();
Matrix mtxLiL = new Matrix((所有观测量的个数),1);
构造线性方程组后,定义矩阵mtxResult1为方程求解的值。
mtxvi 为观测值改正数矩阵。
LEquations leqs1 = new LEquations(mtxMultiplyBTPB,mtxMultiplyBTPL);
Matrix mtxResult1 = new Matrix();
Matrix mtxvI= new Matrix();
for (int n = j; n < j+k; n++)
{ Vi.Add(mtxv.GetElement(0, n));}
上式中j为第1,2—i-1个观测分量个数之和,k为第i个观测分量个数。
重复以上过程,当所有观测分量都与初始设定的固定权观测量的方差比小于等于给定的小正数ε后,确定的各观测分量权后组建最终的权矩PP后代入误差方程进行计算。
3 工程实践应用
以某高速铁路七公里左右的CPIII平面坐标计算为例,介绍其在工程中的应用。
CPIII平面平差主要涉及两类观测值,即定向角和距离。
设定向角和距离的初始权分别为PL=1,若有解,则第j个点横纵坐标值为XY[j]和XY[j+1]。
其中MO为单位权中误差,N=方向观测量个数+距离观测量个数-2*(观测点个数-已知点个数)-定向角个数+1。
则相应标中误差Xo[i]、Yo[i]为
为了更好分析Helmert方差分量估计的可靠性和稳定性,先固定距离误差,对方向观测值的验前中误差调整,分别应用经验定权和Helmert方差分量估计两种计算方式后得到部分验后单位权中误差、坐标值及其精度。
通过数据分析发现经验定权方式得到验后单位权中误差、坐标值及其精度受方向先验单位权中误差影响较大,而Helmert 方差分量估计中无论方向先验单位权中误差如何变化,其验后单位权中误差、坐标值及其精度都是稳定的。
4 结论
本文在实现计算编程基础上,结合具体工程仿真计算说明Helmert 方差分量估计在对深化平差计算理论和工程实践中有重要的借鉴意义。
参考文献:
[1]黄维彬.近代平差理论及其应用[M].北京:解放军出版社,1992.
[2]武汉大学测绘学院测量平差学科组.误差理论与测量平差基础[M].武汉:武汉大学出版社,2003.
[3]杨元喜,张菊清,张亮.基于方差分量估计的拟合推估及其在GIS误差纠正的应用[J].测绘学报,2008(02).。