相关观测值条件平差
条件平差中必要观测数的确定

在知道必要起算数据后,我们根据图形中提供的起算数据就可以分类讨论必 要起算数了。具体见下表:
必要观测数的确定就看上表。让我们先来看一个例题:
图1 上图中,是一个测角网,其中没有起算数据。总共观测了 16 个角度值,其 中这个几何图形中,一共有 6 个点,那么它的必要观测数 t=2p-4=12-4=8,多于 观测数 r=n-t=16-8=8 个。也就是说这个图形一共应该列出 8 个条件方程式。那 么这些条件方程式中,有几个图形条件,有几个极条件呢? 回答上面的问题,也就是我们接下来要讲的,如何确定独立测角网和独立测 边网,以及独立测边角网中,条件方程式的不同种类。请注意,我用了三个独立, 什么是独立呢?独立就是该网的起算数据小于或等于该网的必要起算数据。例如 测角网的给定的起算数据小于或等于 4。测边网和测边角网给定起算数据小于或 等于 3。
在确定必要观测数之前,我们先要了解必要起算数据。在测角网,测边网, 测边角网中,以及水准网中都需要一定的起算数据,也就是已知数据。有这些已 知数据后就可以推算出其它待测点的在已知控制网下的数据。当起算数据不足的 时候虽然也能解算出各个观测值的平差值,但不能求得该网型中待测点在一定控 制网下的数据。例如,水准网中我们没有控制点,一个已知控制点了,我们就可 以推算出所有待求点的高程。
不同网型必要起算数据不同,见下表:
其中,水准网必要起算数据是 1 个,有一个点高程就可以推算出所有点的高 程。测角网,必要起算数据为 4,起算数据为 2 点坐标,即 2 对点的 x、y 就有 4 个起算数据了。或者一个点的坐标 x、y,以及一条边的边长 s,还有一个方位角 α。测边网和边角网相同,需要 3 个必要起算数据,就是 1 个点坐标 x、y,以及 一个方位角。
测量平差概要

测量平差概要一、基本概念01、极条件的个数等于中点多边形、大地四边形和扇形的总数。
02、在间接平差中,独立未知量的个数等于必要观测数。
03、协方差与权互为倒数。
04、在测量中产生误差是不可避免的,即误差存在于整个观测过程,称为误差公理。
05、在间接平差中,误差方程的个数等于观测值的个数。
06、协因数阵与权阵互为逆阵。
07、偶然误差的四个统计特性是:有界性、聚中性、对称性和抵偿性。
08、圆周条件的个数等于中点多边形的个数。
09、偶然误差服从正态分布。
10、只有包含中点多边形的三角网才会产生圆周角条件。
11、条件平差的法方程个数等于多余观测个数,间接平差的法方程的个数等于必要观测数。
12、描述偶然误差分布常用的三种方法是:列表法、绘图法、密度函数法。
13、同一个量多次不等精度观测值的最或是值等于其加权平均值。
14、应用权倒数传播律时观测值间应误差独立。
15、极限误差是指测量过程中规定的最大允许误差值,通常取测量中误差的3倍作为极限误差。
16、在平地,水准测量的高差中误差与水准路线长度的算术平方根成正比。
17、在水准测量中要求前后视距相等是为了消除i角产生的系统误差。
18、在测角中正倒镜观测是为了消除系统误差。
19、水准网的必要起算数据为1个,独立测角网的必要起算数据为4个。
20、在水准测量中估读尾数不准确产生的误差是偶然误差。
21、独立测角网的条件方程有图形条件、圆周条件和极条件三种类型。
22、定权时单位权中误差可任意给定,它仅起比例常数的作用。
23、测角精度与角度的大小无关。
24、观测值的权通常是没有量纲的。
25、在山地,水准测量的高差中误差与测站数的算术平方根成正比。
26、测角网的必要观测个数等于待定点个数的2倍。
27、仪器误差、观测者和外界环境的综合影响称为观测条件28、独立水准网的条件方程式只有闭合水准路线。
29、根据误差对观测结果的影响,观测误差可分为系统误差和偶然误差两类。
30、观测值的协因数与方差成正比,观测值的权与方差反比。
测量平差概要

测量平差概要一、基本概念01、极条件的个数等于中点多边形、大地四边形和扇形的总数。
02、在间接平差中,独立未知量的个数等于必要观测数。
03、协方差与权互为倒数。
04、在测量中产生误差是不可避免的,即误差存在于整个观测过程,称为误差公理。
05、在间接平差中,误差方程的个数等于观测值的个数。
06、协因数阵与权阵互为逆阵。
07、偶然误差的四个统计特性是:有界性、聚中性、对称性和抵偿性。
08、圆周条件的个数等于中点多边形的个数。
09、偶然误差服从正态分布。
10、只有包含中点多边形的三角网才会产生圆周角条件。
11、条件平差的法方程个数等于多余观测个数,间接平差的法方程的个数等于必要观测数。
12、描述偶然误差分布常用的三种方法是:列表法、绘图法、密度函数法。
13、同一个量多次不等精度观测值的最或是值等于其加权平均值。
14、应用权倒数传播律时观测值间应误差独立。
15、极限误差是指测量过程中规定的最大允许误差值,通常取测量中误差的3倍作为极限误差。
16、在平地,水准测量的高差中误差与水准路线长度的算术平方根成正比。
17、在水准测量中要求前后视距相等是为了消除i角产生的系统误差。
18、在测角中正倒镜观测是为了消除系统误差。
19、水准网的必要起算数据为1个,独立测角网的必要起算数据为4个。
20、在水准测量中估读尾数不准确产生的误差是偶然误差。
21、独立测角网的条件方程有图形条件、圆周条件和极条件三种类型。
22、定权时单位权中误差可任意给定,它仅起比例常数的作用。
23、测角精度与角度的大小无关。
24、观测值的权通常是没有量纲的。
25、在山地,水准测量的高差中误差与测站数的算术平方根成正比。
26、测角网的必要观测个数等于待定点个数的2倍。
27、仪器误差、观测者和外界环境的综合影响称为观测条件28、独立水准网的条件方程式只有闭合水准路线。
29、根据误差对观测结果的影响,观测误差可分为系统误差和偶然误差两类。
30、观测值的协因数与方差成正比,观测值的权与方差反比。
条件平差中必要观测数的确定

图2 图 2 中,题目给定了 3 个控制点,也就是有 6 个起算数据,大于测角网 4 个的必要起算数据,多于的起算数据为 2,所以 q=2。 图形中,观测数有 12 个,总点数有 6 个点,p=6,po=4,总边数有 11 条 边,所以 So=10。 必要观测数: t=2p-4-q=2*6-4-2 总条件方程个数: r=n-t=12-6=6; 图形条件: r 图=n-So=12-10=2;
图3 图 3 中,有两个已知点以及一个已知方位角,给定起算数据为 5 个,大于 必要起算数据 4 个,所以 q=5-4=1。而总观测角数目为 21 个,总点数为 7 个 点,所以 p=7,po=5,总边数为 14 条边,So=13。所以: t=2p-4-q=2*7-4-1=9; r=n-t=21-9=12; r 图=n-So=21-13=8;
能够唯一确定一个集合模型所必要的元素除可以任意或必须给定的元素之外其余的必要元素必须通过观察求得通过观测得到的必要元素称之为必要观测量
在条件平差函数模型的学习过程中,必要观测数的确定十分重要,必要观测 数是确定方程个数的基础,而知道方程个数是列条件方程式的前提。往往有很多 同学不能很好理解和掌握必要观测数的确定,在这里我将我所学习和收集的资料 进行汇总,供大家学习参考。
r 极=So- 2Po=13-2*5=3; r 余=r- r 图- r 极=12-8-3=1; 这多余出来的一个条件方程,就是多余的方位角条件。且我们看见在该图 形中间 17,18,19,20,21 这几个观测值构成了一个圆周角条件,因此图形条 件中一个是 8-1=7 个图形条件。 今天就到此为止,希望对大家有帮助。
条件平差原理

§9.1 条件平差原理在条件观测平差中,以n 个观测值的平差值1ˆ⨯n L 作为未知数,列出v 个未知数的条件式,在min =PV V T 情况下,用条件极值的方法求出一组v 值,进而求出平差值。
9.1.1基础方程和它的解设某平差问题,有n 个带有相互独立的正态随机误差的观测值 ,其相应的权阵为 , 它是对角阵,改正数为 ,平差值为 。
当有r 个多余观测时,则平差值 应满足r 个平差值条件方程为:⎪⎪⎭⎪⎪⎬⎫=++++=++++=++++0ˆˆˆ0ˆˆˆ0ˆˆˆ221122112211οοοr L r L r L r b L b L b L b a L a L a L a n n n n n n (9-1) 式中i a 、i b 、…i r (i =1、2、…n )——为条件方程的系数;0a 、0b 、…0r ——为条件方程的常项数以ii i v L L +=ˆ(i =1、2、…n )代入(9-1)得条件方程(9-2)式中a w 、b w 、……r w 为条件方程的闭合差,或称为条件方程的不符值,即(9-3) 令⎪⎪⎪⎪⎪⎭⎫⎝⎛=⨯n n n n r r r r b b b a a a A212121⎪⎪⎭⎪⎪⎬⎫++⋅⋅⋅++=++⋅⋅⋅++=++++=022110221102211r L r L r L r w b L b L b L b w a L a L a L a w n n n n n b n n a ⎪⎪⎭⎪⎪⎬⎫=++⋅⋅⋅++=++⋅⋅⋅++=++⋅⋅⋅++000221122112211r n n b n n a n n w v r v r v r w v b v b v b w v a v a v a ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⨯n n L L L L 211⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⨯n n L L L L ˆˆˆˆ2111⨯n L nn P ⨯1⨯n V 1ˆ⨯n L 1ˆ⨯n L则(9-1)及(9-2)上两式的矩阵表达式为0ˆ0=+A LA (9-4) 0=+W AV (9-5)上改正数条件方程式中V 的解不是唯一的解,根据最小二乘原理,在V 的无穷多组解中,取PV V T = 最小的一组解是唯一的,V 的这一组解,可用拉格朗日乘数法解出。
平差知识点总结

平差知识点总结(总10页) -CAL-FENGHAI.-(YICAI)-CompanY One 1-CAL-本页仅作为文档封面,使甬请直接删除测量平差知识点观测误差包括:粗差、系统误差、偶然误差。
粗差:即粗大误差,或者说是一种大量级的误观测差,是由观测过程中的差错造成的。
发现粗差的方法:进行必要的重复测量或多余观测,采用必要而又严格的检核、验算等,发现后舍弃或重测。
系统误差:在相同条件下进行一系列观测,如果误差在大小、符号表现出一致性,或者在观测过程中按一定的规律变化,或者为一常数,这种误差称为系统误差。
消除或削弱的方法:采取合理的操作程序(正、倒镜,中间法,对向观测等);用公式改正,即加改正裁(如钢尺量距时的尺长误差等)。
偶然误差:在相同条件下进行一系列观测,如果误差在大小、符号上表现出偶然性,即就单个误差而言,该误差的大小和符号没有规律性,但就大量误差的总体而言,具有一定的统计规律,这种误差称为偶然误差,或者随机误差。
采臥措施:处理带仔偶然误差的观测值,就是木课程的内容,也叫做测量平差。
偶然谋差又称随机误差,有以I、•四个特性:1)一定观测条件下,误差绝对值有一泄限值(有限性);2)绝对•值较小的课差比绝对值较人的课差出现概率人(渐降性):3)绝对值相等的正负误差出现概率相同(对称性);4)偶然谋差的数学期望为零(抵偿性)。
衡量精度的指标有五个,分别眉中矗、平均矗、或然i灵差、极限i灵差以及相对中谋差。
其中中矗和极限误差以及相对中保差是工程測量中常用的指标。
5、相对谋差颠差、屮促差、极限促差等指标,对于菜些观测结果,有时还•侮全表达观测结果的好坏,例如,分别丈1000m及500⑴的两段距离,它们的中课差均为±2cn】,虽然两者■的中误差相同,但就M位长度而言,两者精度并彳、相同。
显然询耆的郴对蒂度比后者耍高。
一般:而言,一些与长度有关的观测俺或其函数值,单纯用中误苣还不能区分出蒂度的高低,所以常用相对课差。
平差

1、什么是观测量的真值?任何观测量,客观上总存在一个能反映其真正大小的数值,这个数值称为观测量的真值。
2、什么是观测误差?观测量的真值与观测值的差称为观测误差。
3、什么是观测条件?仪器误差、观测者和外界环境的综合影响称为观测条件。
4、根据误差对观测结果的影响,观测误差可分为哪几类?根据误差对观测结果的影响,观测误差可分为系统误差和偶然误差两类。
5、在测量中产生误差是不可避免的,即误差存在于整个观测过程,称为误差公理。
6、观测条件与观测质量之间的关系是什么?观测条件好,观测质量就高,观测条件差,观测质量就低。
7、怎样消除或削弱系统误差的影响?一是在观测过程中采取一定的措施;二是在观测结果中加入改正数。
8、测量平差的任务是什么?⑴ 求观测值的最或是值(平差值); ⑵ 评定观测值及平差值的精度。
第二章:误差理论与平差原则1、描述偶然误差分布常用的三种方法是什么? ⑴ 列表法;⑵ 绘图法;⑶ 密度函数法。
2、偶然误差具有哪些统计特性?(1) 有界性:在一定的观测条件下,误差的绝对值不会超过一定的限值。
(2) 聚中性:绝对值较小的误差比绝对值较大的误差出现的概率要大。
(3) 对称性:绝对值相等的正负误差出现的概率相等。
(4) 抵偿性:偶然误差的数学期望或偶然误差的算术平均值的极限值为0。
3、由偶然误差特性引出的两个测量依据是什么?⑴ 制定测量限差的依据;⑵ 判断系统误差(粗差)的依据。
4、什么叫精度?精度指的是误差分布的密集或离散的程度。
5、观测量的精度指标有哪些?(1) 方差与中误差; (2) 极限误差; (3) 相对误差。
6、极限误差是怎样定义的?在一定条件下,偶然误差不会超过一个界值,这个界值就是极限误差。
通常取三倍中误差为极限误差。
当观测要求较严时,也可取两倍中误差为极限误差。
7、误差传播律是用来解决什么问题的? 误差传播律是用来求观测值函数的中误差。
8、应用误差传播律的实际步骤是什么?(1) 根据具体测量问题,分析写出函数表达式),,,(21n x x x f z =; (2) 根据函数表达式写出真误差关系式n nx x fx x f x x f z ∆∂∂++∆∂∂+∆∂∂=∆ 2211; (3) 将真误差关系式转换成中误差关系式。
1-2条件平差原理--条件平差的计算步骤

得: 3ka 9 0
3.步骤三
依据
K
N
W 1
aa
计算出联系数K。
解法方程得: ka 3
C
L3
L1
A
L2
B
三角形示例图
条件平差的计算步骤
4.步骤四
由式 V P 1 AT K 计算出观测值改正数,并依据式 Lˆ L V
出观测值的平差值。
计算
1 0 0 1
Lˆ3
L3
v3
731234
条件平差的计算步骤
5.步骤五
为了检查平差计算的正确性,将平差值待入平差值条件方程式 ALˆ A0 0 ,
看是否满足方程式关系。
583115 481611 731234 180 0
3
V P1AT K 0 1 0 1 3 3
0 0 1 1
3
Lˆ1 Lˆ2
L1
L2
v1 v2
583115 481611
条件平差的计算步骤
1.步骤一
根据实际问题,确定几何模型的总观测值的个数 n,必要观测值的个数 t 及
多余观测值的个数 r=n-t,进一步列出平差值条件方程 ALˆ A0 0 或改正数条 件方程 AV W 0 。
C
L3
L1
A
L2
B
三角形示例图
以确定三角形的形状为例,对三角形中的三个 内角等精度观测,得观测值如下: L1=58°31′12″,L2=48°16′08″,L3=73°12′31″,试用条 件平差法,计算三角形各内角的平差值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
double *M = new double[r*n];//临时数组M,存放系数阵与权逆阵的乘积B*Q for (int i = 0; i < r*n; i++)
M[i] = 0.0;
//计算M for (int i = 0; i < r; i++)
for (int j = 0; j < n; j++) for (int k = 0; k < n; k++) M[i*n + j] += B[i*n + k] * Q[ij(k, j)];
double *a0 = new double[n]; for (int k = 0; k < n; k++)
1
Jack 专属
{ double a00 = a[0]; if (a00 + 1.0 == 1.0) { delete[]a0; return false; } for (int i = 1; i < n; i++) { double ai0 = a[i*(i + 1) / 2];
double ki = 0.0; for (int j = 0; j < r; j++)
ki -= N[ij(i, j)] * W[j]; K[i] = ki; pvv -= ki*W[i];
}
//计算V for (int i = 0; i < n; i++) {
double vi = 0.0; for (int j = 0; j < r; j++)
2
Jack 专属
{ fprintf(fp, fmt, A[i*t + j]);
} fprintf(fp, fmt, b[i]); } }
///////////////////////////////////////////////////// //向文件输出数组 void PrintM(FILE *fp, double A[], int size, int t, char*fmt, char*title, bool IsLabel) {
//计算联系数法方程系数阵N=M*B' int index = 0; for (int i = 0; i < r; i++)
for (int j = 0; j <= i; j++) { for (int k = 0; k < n; k++)
N[index] += M[i*n + k] * B[j*n + k]; index++; }
//法矩阵求逆 if (inverse(N, r) == false) {
delete[]N; delete[]M; return -1.0;
}
double *K = new double[r];
4
Jack 专属
double pvv = 0.0; for (int i = 0; i < r; i++) {
Jack 专属
/////////////////////////////////////////////////////////
//
基于 Visual Studio2013 编写
// 3.4 相关观测值条件平差.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h" #include <stdarg.h> #include <stdio.h> #include <iostream> using namespace std; /////////////////////////////////////////// //对称矩阵的下标计算 int ij(int i, int j) {
fclose(fp);
}
int _tmain(int argc, _TCHAR* argv[]) {
Co_Condition_Example(); cout << "程序输出成功!!!" << endl; cin.get(); cin.get(); return 0; }
Data 数据: 63
0.53 0.58 0.23 0.08 0.03 0.01 -6.00 0.01 0.02 0.04 0.11 0.29 -0.24 9.00 0.41 0.24 0.31 -0.31 -0.24 -0.41
PrintM(fp, V, n, 1, "%6.3lf", "观测值的改正数(V)", true);
fprintf(fp, "单位权中误差:μ=%.3lf", m); double F[] = { 1.9, -0.27, 0.27, 0.11, 0.04, 0.01 }; double q = Calculate_q(Q, F, n); fprintf(fp, "\n函数的中误差:m=%.3lf", m*sqrt(q));
fprintf(fp, fmt, A[i]); } fprintf(fp, "\n"); }
////////////////////////////////////////////////////////// // 权倒数计算函数 double Calculate_q(double *Q, double *F, int t) {
fscanf_s(fp, "%lf", Q + i); } fclose(fp);
fopen_s(&fp, "result.txt", "w");
6
Jack 专属
PrintEquation(fp, B, W, r, n, "%6.2lf", "条件方程"); double m = Co_Condition(n, r, B, W, Q, V);
int n, r;
FILE *fp; fopen_s(&fp, "data.txt", "r"); if (fp == NULL) {
MyBreak("数据文件打不开"); return; } fscanf_s(fp, "%d%d", &n, &r);
double *B = new double[r*n]; double *W = new double[r]; double *Q = new double[n*(n + 1) / 2]; double *V = new double[n];
double q = 0.0; for (int i = 0; i < t; i++)
for (int j = 0; j < t; j++) q += Q[ij(i, j)] * F[i] * F[j];
return q;
} /////////////////////////////////////////////////////////
if (title) fprintf(fp, "\n %s: ", title);
int j = 0; for (int i = 0; i < size; i++) {
if (i%t == 0) {
j++; if (IsLabel)
fprintf(fp, "\n%3d", j); else
fprintf(fp, "\n"); }
vi += M[j*n + i] * K[j]; V[i] = vi; }
//计算QX index = 0; for (int i = 0; i < n; i++)
for (int j = 0; j <= i; j++) { for (int k = 0; k < r; k++)
for (int s = 0; s < r; s++) Q[index] -= M[k*n + i] * N[ij(k, s)] * M[s*n + j];
#endif//VC_EXTRALEN
} //////////////////////////////////////////////////////// /////////////////////////////////////////////// // 对称正定矩阵求逆(仅存下三角元素) bool inverse(double a[], int n) {
6.00
10.0
//By Jack 7
-6.0 10.5 1.0 -4.5 6.5 0.0 0.5 -4.5 10.0 0.0 0.0 1.0 -4.5 6.0 0.0 0.0 0.0 0.5 -3.0 5.0
Jack 专属
8
char buffer[256]; va_list argptr; va_start(argptr, fmt); vsprintf_s(buffer, fmt, argptr); va_end(argptr);
#ifdef VC_EXTRALEN AfxMessageBox(buffer);
#else printf(buffer); getchar();
} } for (int i = 1; i < n; i++) {