1 / 21
文档名称:

误差理论与测量平差课程设计版文.doc

格式:doc   大小:338KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

误差理论与测量平差课程设计版文.doc

上传人:春天资料屋 2022/11/26 文件大小:338 KB

下载得到文件列表

误差理论与测量平差课程设计版文.doc

文档介绍

文档介绍:该【误差理论与测量平差课程设计版文 】是由【春天资料屋】上传分享,文档一共【21】页,该文档可以免费在线阅读,需要了解更多关于【误差理论与测量平差课程设计版文 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。偏差理论与丈量平差






课题:水平网严实平差及精度评定
院校:
系别:
指导教师:
班级:
姓名:
目录
一、目录----------------------------1
二、前言----------------------------2
三、设计思路------------------------3
四、程序流程图----------------------4
五、程序及说明----------------------5
六、计算结果-----------------------12
七、总结---------------------------15
第二部分前言
1、本课程设计的性质、目的和任务
偏差理论与丈量平差是一门理论与实践并重的课程,其课程设计是丈量数据办理理论学****的一个重要的实践环节,它是在我们学****了专业基础课“偏差理论与丈量平差基础”课程后进行的一门实践课程。其目的是加强我们对偏差理论与丈量平差基础理论的理解,坚固掌握丈量平差的基来源理和基本公式,熟****丈量数据办理的基本技术和计算方法,灵巧正确地应用于解决各种数据办理的实质问题,并能用所学的计算机理论知识,编制简单的计算程序。
2、偏差理论与丈量平差课程和其余课程的联系和分工
此次课程设计中所用的数学模型和计算方法是我们在偏差理论
与丈量平差课程中所学的内容,所使用的C程序语言使我们在计算机基础课程中所学知识。偏差理论与丈量平差课程设计是丈量平差和计
算机程序设计等课程的综合实践与应用,同时也为我们此后步入工作岗位打下了必定基础。
3、课程设计要点及内容
本次课程设计要点是培育我们正确应用公式、综合剖析和解决
问题的能力,以及计算机编程能力。此外它要求我们达成1-2个综合
性的联合生产实践的题目。如当前生产实践中常常用到的水平网严实
平差及精度评定,边角网(导线)严实平差及精度评定等。此次我所
选的课程设计课题是水平网严实平差及精度评定,其详细内容以下:
依据题目要求,正确应用平差模型列出观察值条件方程、偏差方程和法方程;解算法方程,得出平差后的平差值及各待定点的高程平差值;评定各平差值的精度和各高程平差值的精度。
详细算例为:
以下图水平网,有2个已知点,3个未知点,7个测段。各已知数据及观察值见
下表
1)已知点高程H1=,H2=(2)高差观察值(m
端点号
高差
测段距离km

观察值m

1-
1-
2-
2-
3-
3-
5-2-
3)求各待定点的高程;3-4点的高差中偏差;3号点、4号点的高程中偏差。
第三部分设计思路
一、解题步骤
1)此次设计我所采纳的模型为间接平差模型,依据已知条件我们可
知观察总数n=7,必需观察数t=3(则剩余观察数r=n-t=4),所以我需先选定三个参数,即3、4、5点的最或然高程X3、X4、X5(X=X0+x,
X30=、X40=、X50=;此中X0为参数的近似值,x为其
更正当)为参数。
(2)列出条件方程,马上每一个观察量的平差值分别表达成所选参数
的函数,H1+h1=X3、H1+h2=X4、H2+h3=X3、H2+h4=X4、X3+h5=X4、
X3+h6=X5、X5+h7=H2;整理后得出偏差方程,v1=x3、v2=x4、v3=x3-4、
v4=x4-3、v5=-x3+x4-7、v6=-x3+x5-2、v7=-x5,即v=Bx-l的形式。
()定权,令每千米的观察高差为单位权观察,即
P=1/S
i
,从而可
3
i
写出权阵P;依据偏差方程式又可得其系数矩阵
B和自由项
l,并由它
们构成法方程NBBx-W=0(此中NBB=BTPB,W=BTPl),法方程的个数等于所选参数的个数。
(4)解算法方程,求出参数更正当x并计算参数的平差值X=X0+x。
5)由偏差方程计算V,并求出观察量的平差值。为了检查平差计算的正确性,将所求的值代入条件方程,看其能否知足方程。
6)精度评定,计算单位权中偏差,依据题设要求列出权函数式,再依据平差参数的协方差阵求出协因数,最后求出某段高差中偏差,某些点的高程中偏差。
二、程序设计思想
考虑到在解题过程中一些计算的复杂性,我们需借助一些技术将计算简单化,
快捷化,所以在课程设计过程中,我们把一些C语言程序设计引入此中;经过一些
简单、了然的程序及子函数调用,我们就能够很方便快捷的求出用笔算比较繁琐、
费时的矩阵乘积、矩阵的逆(如BTPB、BTPl)等运算。
第四部分程序流程图
依据题目列出条件方程并写成偏差方程的形式V=Bx-l

确立权阵,依据偏差方程获得矩阵B、l从而写出BT

运用C程序语言求出BTP,进一步获得NBB=BTPB、W=BTPl并求出NBB-1

用C程序求出参数的更正数x=NBB-1W

依据C程序语言求Bx,从而由V=Bx-l写出各观察值的更正数

依据L=L+V求出各观察值的平差值

查验所求各值能否正确,若无误则往下进行,反之检查各步骤查犯错误并更正

由程序计算VTP从而求出VTPV,求单位权中偏差,再依据权函数式、协因数流传
定律评定各观察值及所求高程的精度
第五部分程序及说明
一、矩阵相乘计算函数
#include“”
voidMatrix(a,b,m,n,k,c
intm,n,k;
doublea[],b[],c[];
{
inti,j,l,u;
for(i=0;i<=m-1;i++
for(j=0;j<=k-1;j++
{
u=i*k+j;c[u]=;
for(l=0;l<=n-1;l++
c[u]=c[u]+a[i*n+l]*b[l*k+j];
}
return;
}

main(
{
inti,j;
staticdoublea[3][7]=

BT;
staticdoublec[3][7],b[7][7]=P

;
Matrixmul(a,b,3,7,7,c;
printf(“n”;
for(i=0;i<=2;i++
{
for(j=0;j<=6;j++
printf(

“%

t”,c[i][j];
printf(“n”;
}
printf(“n”;
return0;
}
,即NBB
main(
{
inti,j;
staticdoublea[3][7]=B

TP;
staticdoublec[3][3],b[7][3]=

B;
Matrixmul(a,b,3,7,3,c;
printf(

“n”;
for(i=0;i<=2;i++
{
for(j=0;j<=2;j++
printf(“%”,c[i][j];
printf(“n”;
}
printf(“n”;
return0;
}
,即W
main(
{
inti,j;
staticdoublea[3][7]=B

TP;
staticdoublec[3][1],b[7][1]=

l;
Matrixmul(a,b,3,7,1,c;
printf(“n”;
for(i=0;i<=2;i++
{
for(j=0;j<=0;j++
printf(

“%

t”,c[i][j];
printf(

“n”;
}
printf(
return0;
}

“n”;
二、矩阵的逆计算函数(求NBB-1)
#include""
#defineM3
voidmain(
{
floatMAT[M][2*M];
floatMAT1[M][M];
floatt;
inti,j,k,l;
/*/
/*对矩阵进行初始化*/
for(i=0;i
for(j=0;j<2*M;j++
MAT1[j]='\0';
/*对MAT1矩阵赋初值*/
for(i=0;i
for(j=0;j
scanf("%f",&MAT1[j];
/*打印目标矩阵?*/