误差理论与测量平差上机指导书[1]
- 格式:doc
- 大小:139.00 KB
- 文档页数:24
《误差理论与测量平差基础》授课教案2019~2019第一学期测绘工程系2019年9月课程名称:误差理论与测量平差基础英文名称:课程编号:??适用专业:测绘工程总学时数: 56学时其中理论课教学56学时,实验教学学时总学分:4学分◆内容简介《测量平差》是测绘工程等专业的技术基础课,测量平差的任务是利用含有观测误差的观测值求得观测量及其函数的平差值,并评定其精度。
本课程的主要内容包括误差理论﹑误差分布与精度指标﹑协方差传播律及权﹑平差数学模型与最小二乘原理﹑条件平差﹑附有参数的条件平差﹑间接平差﹑附有限制条件的间接平差﹑线性方程组解算方法﹑误差椭圆﹑平差系统的统计假设检验和近代平差概论等。
◆教学目的、课程性质任务,与其他课程的关系,所需先修课程本课程的教学目的是使学生掌握误差理论和测量平差的基本知识、基本方法和基本技能,为后续专业课程的学习和毕业后从事测绘生产打下专业基础。
课程性质为必修课、考试课。
本课程的内容将在测绘工程和地理信息系统专业的专业课程的测量数据处理内容讲授中得到应用,所需先修课程为《高等数学》、《概率与数理统计》、《线性代数》和《测量学》等。
◆主要内容重点及深度考虑到专业基础理论课教学应掌握“必须和够用”的原则,结合测绘专业建设的指导思想,教学内容以最小二乘理论为基础,误差理论及其应用、平差基本方法与计算方法,以及平差程序设计及其应用为主线。
测量误差理论,以分析解决工程测量中精度分析和工程设计的技术问题为着眼点,在掌握适当深度的前提下,有针对性的加强基本理论,并与实践结合,突出知识的应用。
平差方法,以条件平差和参数平差的介绍为主,以适应电算平差的参数平差为重点。
计算方法,以介绍适应电子计算机计算的理论、方法为主,建立新的手工计算与计算机求解线性方程组过程相对照的计算方法和计算格式。
平差程序设计及其应用,通过课程设计要求学生利用所学程序设计的知识和平差数学模型编制简单的平差程序,熟练掌握已有平差程序的使用方法。
第一章绪论§1-1观测误差1.1.01为什么说观测值总是带有误差,而且观测误差是不可避免的?1.1.02观测条件是由哪些因素构成的?它与观测结果的质量有什么联系?1.1.03测量误差分为哪几类?它们各自是怎样定义的?对观测成果有何影响?试举例说明。
1.1.04用钢尺丈量距离,有下列几种情况使量得的结果产生误差,试分别判定误差的性质及符号:(1)长不准确;(2)尺尺不水平;(3)估读小数不准确;(4)尺垂曲;(5)尺端偏离直线方向。
1.1.05在水准测量中,有下列几种情况使水准尺读数带有误差,试判别误差的性质及符号:(1)视准轴与水准轴不平行;(2)仪器下沉;(3)读数不准确;(4)水准尺下沆。
§1-2测量平差学科的研究对象1.2.06 何谓多余观测?测量中为什么要进行多余观测?1.2.07 测量平差的基本任务是什么?§1-3测量平差的简史和发展1.3.08 高斯于哪一年提出最小二乘法?其主要是为了解决什么问题?1.3.09 自20世纪五六十年代开始,测量平差得到了很大发展,主要表现在那些方面?§1-4 本课程的任务和内容51.4.10 本课程主要讲述哪些内容?其教学目的是什么?第二章误差分析与精度指标§2-1 正态分布2.1.01 为什么说正态分布是一种重要的分布?试写出一维随机变量X的正态分布概率密度式。
6§2-2 偶然误差的规律性2.2.02 观测值的真误差是怎样定义的?三角形的闭合差是什么观测值的真误差?2.2.03 在相同的观测条件下,大量的偶然误差呈现出什么样的规律性?2.2.04 偶然误差*服从什么分布?它的数学期望和方差各是多少?§2-3 衡量精度的指标2.3.05 何谓精度?通常采用哪几种指标来衡量精度?2.3.06 在相同的观测条件下,对同一个量进行若干次观测得到一组观测值,这些观测值的精度是否相同?能否认为误差小的观测值比误差大的观测值精度高?2.3.07 若有两个观测值的中误差相同,那么,是否可以说这两个观测值的真误差一定相同?为什么?2.3.08 为了鉴定经纬度的精度,对已知精确测定的水平角α=45O00’00”作12次观测,结果为:45o00’06” 44o59’55” 44o59’58” 45o00’04”45o00’03” 45o00’04” 45o00’00” 44o59’58”44o59’59” 44o59’59” 45o00’06” 45o00’03”设α没有误差,试求观测值的中误差。
误差理论与测量平差基础一、课程说明课程编号:010405Z10课程名称(中/英文):误差理论与测量平差基础/The Fundamental of Error Theory and Surveying Adjustment课程类别:必修学时/学分:56/3.5先修课程:测绘学概论、测量学基础适用专业:测绘工程、遥感科学与技术教材、教学参考书:1.朱建军,左廷英,宋迎春主编.误差理论与测量平差基础,北京:测绘出版社,2013.2.武汉大学测绘学院测量平差学科组编著.误差理论与测量平差基,武汉:武汉大学出版社,2003.3.武汉大学测绘学院测量平差学科组编著.误差理论与测量平差基础习题集,武汉:武汉大学出版社,2005.二、课程设置的目的意义“误差理论与测量平差基础”是测绘工程专业必修的主干课、特色课。
主要讲授测量数据处理的基本理论与方法,是理论与实践并重课程。
通过讨论误差来源、性质及其分布特征等,研究带有偶然误差的观测值的数据处理问题,完成测量平差两大任务,即求待定量的最佳估值,并评定测量成果的精度。
为后续专业课程的数据处理奠定扎实的理论基础。
三、课程的基本要求对应的专业培养要求1.4.1专业知识(3)熟悉误差的来源和性质,了解系统误差和粗差处理的方法(4)掌握偶然误差的统计特性、衡量精度的数字指标;(5)熟练各种基本平差方法的原理和方法、以及精度评定的方法;2.1.3能理解工程应用要求,掌握外业施测和内业数据处理方法,严格贯彻专业设计规范和专业设计流程,选用合适仪器、布设与施测方案、数据处理方法及软件。
2.2.1具有一定的测绘数据处理软件编制能力,对一些特殊的应用和新的仪器或技术方法,能够根据要求编写程序进行数据处理。
2.2.2具有较强的创新意识和技术改造与创新的初步能力。
针对测绘产品的质量要求和生产技术问题能提出技术改造、工艺设计或者技术创新初步方案。
3.1.1能够控制自我并了解、理解他人需求和意愿;既能独立工作,又具有团队合作精神,适应竞争学会合作。
江西理工大学《测量平差基础》课程实验指导书主审人:主撰人:马大喜、肖海平前言《测量平差基础》是测绘类专业的重要专业基础课,是一门理论性很强,也是一门实践性很强的课程,测量平差的公式复杂、计算量大,因此,在学习平差方法之后,必须让学生上机实验,应用计算机来解决平差计算的实际问题,利用上机实验课和课外上机,使学生较全面掌握测量平差的基本方法的软件应用,能够应用实用程序解决生产实际问题。
目录第一部分绪论第二部分基本实验指导试验一水准网条件平差实验二三角网条件平差实验三水准网间接平差实验四三角网间接平差实验五附有参数的条件平差实验六附有限制条件的间接平差实验七控制网平差第一部分绪论本实验指导书是根据《测量平差基础》课程实验教学大纲编写,适用于测绘工程专业。
一、本课程实验的作用与任务通过课程的实验使学生进一步理解平差方法的原理,提高平差计算的实际水平,使学生能更好地掌握信息处理的基本工具——计算机及相应软件的应用,激发学生自编测量平差软件的主动性和创新性,要求通过实验教学使学生熟练掌握水准网、三角网的条件平差和间接平差的软件应用,增强学生解决实际平差计算问题的能力。
二、本课程实验的基础知识具备条件平差、间接平差原理和方法的知识,能熟练掌握计算机的操作使用,初步掌握编制计算机程序的基本知识,熟悉测量学和控制测量的基本知识。
三、本课程实验教学项目及要求第二部分基本实验指导实验一水准网的条件平差一、实验目的通过实例水准网条件平差计算、理解水准网条件平差原理,掌握其应用方法,能应用软件平差计算一个实际水准网。
二、实验原理正确运行条件平差程序:输入矩阵元素—法方程组成—法方程解算—改正数计算—平差值计算——精度计算。
三、主要仪器及耗材计算机和相应平差软件、及打印纸四、实验内容和步骤对于给定的水准网列出条件方程并完成相应的条件平差计算,正确安装程序。
步骤:(1)确定条件方程式个数,并列出条件方程式,观测值权阵;(2)输入条件方程系数矩阵、闭合差矩阵、观测值矩阵,观测值权阵的元素;(3)根据计算的平差值进行检核。
误差理论与测量平差上机指导书 辽宁工程技术大学 测绘与地理科学学院测绘工程系 误差理论与测量平差上机指导书 目录 实验1 矩阵加法与乘法运算 ................................................................................. 1 实验2 矩阵转置与求逆运算 ................................................................................. 3 实验3 误差椭圆元素计算 .................................................................................... 11 实验4 水准网间接平差程序设计 ....................................................................... 12 误差理论与测量平差上机指导书
1 实验1 矩阵加法与乘法运算
一、 实验名称:矩阵加法与乘法运算。 二、 实验目的和任务:掌握矩阵加法与乘法通用程序的编写。 三、 实验要求: 1 每人独立编写出矩阵加法与乘法的程序,并上机调试通过; 2 采用VC++6.0开发平台,C或者C++语言编写程序; 3 写出矩阵运算的结果。 四、 实验内容: 1 矩阵加法的示例函数(C语言) void JZjiafa(double a[15][15],double b[15][15],double c[15][15],int m,int n) { for (int i=0;i<=m-1;i++) for(int j=0;j<=n-1;j++) { c[i][j]=a[i][j]+b[i][j]; } return; }
2 矩阵乘法的示例程序(C语言) #include "stdafx.h" void matrixMultiply(double a[14][15],double b[15][13], double c[14][13],long m,long n,long k) { for (long i = 0; i<= m-1; i++) { for (long j=0; j<=k-1; j++) { 误差理论与测量平差上机指导书 2 c[i][j] =0.0; for (long q=0; q<=n-1;q++) { c[i][j] = c[i][j] + a[i][q] * b[q][j]; } } } return; }
int main(int argc, char* argv[]) { long n,m,k,i,j; double a[14][15],c[14][13],b[15][13]; FILE *stream; stream = fopen("矩阵输入.txt","r"); fscanf(stream,"%ld %ld",&n,&m); for (i=0;i{ for(j=0;j{ fscanf(stream,"%lf",&a[i][j]); } } fscanf(stream,"%ld %ld",&m,&k); for(i=0;i{ for(j=0;j{ fscanf(stream,"%lf",&b[i][j]); } } fclose(stream); 误差理论与测量平差上机指导书 3 matrixMultiply(a,b,c,4,5,3); stream = fopen("矩阵计算结果.txt","w"); for (i=0;i<=3;i++) { for(j=0;j<=2;j++) fprintf(stream,"%16.7e ",c[i][j]); fprintf(stream,"\n"); } fprintf(stream,"\n"); fclose(stream); return 0; }
实验2 矩阵转置与求逆运算 一、 实验名称:矩阵转置与求逆运算。 二、 实验目的和任务:掌握矩阵转置的编写,会调用矩阵求逆函数。 三、 实验要求: 1 每人独立编写出矩阵转置的程序,并上机调试通过; 2 每人独立完成矩阵求逆函数的调用,并调试通过; 3 采用VC++6.0开发平台,C或者C++语言编写程序; 4 写出矩阵运算的结果。 四、 实验内容: i. 矩阵的转置示例函数(C语言) double JZzhuanzhi(double a[15][15], double b[15][15], int m,int n) { { 误差理论与测量平差上机指导书 4 for(int i=0;ifor(int j=0;jb[j][i]=a[i][j]; } return 0.0; }
ii. 矩阵求逆的示例函数(C语言) int invGJ(double **a,int n) { int *is,*js,i,j,k,l,u,v; double d,p; is=(int *)malloc(n*sizeof(int)); js=(int *)malloc(n*sizeof(int)); for(k=0;k<=n-1;k++) { d=0.0; for(i=k;i<=n-1;i++) for(j=k;j<=n-1;j++) { l=i*n+j;p=fabs(a[i][j]); if(p>d) {d=p;is[k]=i;js[k]=j;} } if(d+1.0==1.0) { free(is);free(js);printf("error not inv\n"); return (0); } if(is[k]!=k) for(j=0;j<=n-1;j++) { u=k*n+j;v=is[k]*n+j; 误差理论与测量平差上机指导书 5 p=a[k][j];a[k][j]=a[is[k]][j];a[is[k]][j]=p; }
if(js[k]!=k) for(i=0;i<=n-1;i++) { u=i*n+k;v=i*n+js[k]; p=a[i][k];a[i][k]=a[i][js[k]];a[i][js[k]]=p; } l=k*n+k; a[k][k]=1.0/a[k][k]; for(j=0;j<=n-1;j++) if(j!=k) { u=k*n+j;a[k][j]=a[k][j]*a[k][k]; } for(i=0;i<=n-1;i++) if(i!=k) for(j=0;j<=n-1;j++) if(j!=k) { u=i*n+j; a[i][j]=a[i][j]-a[i][k]*a[k][j]; } for(i=0;i<=n-1;i++) if(i!=k) { u=i*n+k;a[i][k]=-a[i][k]*a[k][k]; } } for(k=n-1;k>=0;k--) { if(js[k]!=k) 误差理论与测量平差上机指导书 6 for(j=0;j<=n-1;j++) { u=k*n+j;v=js[k]*n+j; p=a[k][j];a[k][j]=a[js[k]][j];a[js[k]][j]=p; } if(is[k]!=k) for(i=0;i<=n-1;i++) { u=i*n+k;v=i*n+is[k]; p=a[i][k];a[i][k]=a[i][is[k]];a[i][is[k]]=p; } } free(is);free(js); return (1); } int invGJ(double **a,int n) { int *is,*js,i,j,k,l,u,v; double d,p; is=(int *)malloc(n*sizeof(int)); js=(int *)malloc(n*sizeof(int)); for(k=0;k<=n-1;k++) { d=0.0; for(i=k;i<=n-1;i++) for(j=k;j<=n-1;j++) { l=i*n+j;p=fabs(a[i][j]); if(p>d) {d=p;is[k]=i;js[k]=j;} } if(d+1.0==1.0) { free(is);free(js);printf("error not inv\n"); 误差理论与测量平差上机指导书 7 return (0); } if(is[k]!=k) for(j=0;j<=n-1;j++) { u=k*n+j;v=is[k]*n+j; p=a[k][j];a[k][j]=a[is[k]][j];a[is[k]][j]=p; }
if(js[k]!=k) for(i=0;i<=n-1;i++) { u=i*n+k;v=i*n+js[k]; p=a[i][k];a[i][k]=a[i][js[k]];a[i][js[k]]=p; } l=k*n+k; a[k][k]=1.0/a[k][k]; for(j=0;j<=n-1;j++) if(j!=k) { u=k*n+j;a[k][j]=a[k][j]*a[k][k]; } for(i=0;i<=n-1;i++) if(i!=k) for(j=0;j<=n-1;j++) if(j!=k) { u=i*n+j; a[i][j]=a[i][j]-a[i][k]*a[k][j]; } for(i=0;i<=n-1;i++) if(i!=k) {