一、原理概述
条件平差的函数模型和随机模型为:
A V + W = 0 D = σ 0 2 Q = σ 0 2 P − 1 AV+W=0\\ D=\sigma_0^2Q=\sigma_0^2P^{-1} AV+W=0D=σ02Q=σ02P−1
条件方程为:
A V + W = 0 AV+W=0 AV+W=0
法方程为:
N A A K + W = 0 N_{AA}K+W=0 NAAK+W=0
其解为:
K = − N A A − 1 W K=-N_{AA}^{-1}W K=−NAA−1W
其中, N A A = A P − 1 A T N_{AA}=AP^{-1}A^T NAA=AP−1AT。
改正数方程:
V = P − 1 A T K = Q A T K V=P^{-1}A^TK=QA^TK V=P−1ATK=QATK
观测量平差值:
L ^ = L + V \hat{L}=L+V L^=L+V
二、案例分析
A 、 B A、B A、B点高程已知,求 P 1 、 P 2 、 P 3 P_1、P_2、P_3 P1、P2、P3点高程平差值。
《误差理论与测量平差基础》
三、代码实现
根据条件平差计算原理,使用C++编写代码计算结果如下:
PCL 条件平差-以水准网为例