Matlab软件在测量平差教学中的应用.pdf_第1页
Matlab软件在测量平差教学中的应用.pdf_第2页
Matlab软件在测量平差教学中的应用.pdf_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

matlab软件在测量平差教学中的应用 潘 雄,付宗堂 (中国地质大学 土地科学系,北京100083) 摘 要:从测量平差课程的特点出发,阐述如何利用matlab软件处理平差模型中的观测数据,给出一个水准网间接 平差算例及其源程序,对软件的进一步使用提出建议。 关键词:matlab;测量平差;数据处理 中图分类号:g642 文献标识码:a 文章编号:1006 - 7949(2007)01 - 0076 - 03 application of matlab software to the teaching of survey adjustment pan xiong ,fu zong (dept. of land science , china university of geosciences , beijing 100083 ,china) abstract:the old methods of processing data are complex and difficult. how to apply matlab to processing mea2 sure data is described with an example of leveling network adjustment and its source program. finally ,some sug2 gestion about matlab application are given. key words:matlab; survey adjustment ; data processing 收稿日期:2006 - 01 - 20 作者简介:潘 雄(1973 ) , 男,副教授,博士研究生. 测量平差是测绘类专业的一门重要的专业基础 课程,是该专业的核心课程,用于观测数据处理的 一门应用数学,通常在大学第四学期或第五学期开 始面向测绘类专业学生开设。它综合了学生在大学 一、 二年级所学的高等数学、 线性代数、 概率论与数 理统计等几门数学课程以及测量学课程,同时也为 高年级的专业课程提供了非常有用的数据处理理论 和方法。因此,该课程教学质量的高低,教学效果的 好坏,会影响学生后续专业课程的学习质量,甚至会 对学生毕业后从事测绘生产、 科研工作的能力产生 一定影响。近几十年来,随着计算机技术和空间技 术的进步,测绘学科得到了飞跃的发展,观测数据和 估计量的类型更加多样,测量平差应用更加广泛,给 测量平差课程提出了新的要求和任务。所以,如何 进行测量平差课程体系改革、 课程内容的优化与深 化、 教学方法改革等一直是测量学者探讨的重要问 题之一。 在测量平差的教学过程中,要求学习者具有较 好的数学理论知识和较强的逻辑推理能力,要学会 应用数学的思维方法解决观测数据处理的实际问 题。此课程数学公式推导多,计算公式比较复杂,大 量的计算都以矩阵的形式进行。但目前采用的教材 大多为测绘出版社出版的统编教材,删除了增订本 中的高斯约化法、 迭代解法等相关手工计算内容,这 给该课程的教学带来较大的困难。在开设测量平差 之前,虽然学生已经具有一定的计算机编程能力,但 是对于学习此课程的学生来说,要想编写大量复杂 的矩阵计算,不是一件很容易的事情,对于大多数的 学生学习难度较大。同时,若花费大量的时间进行 程序设计,必然会影响到测量平差课程内容的理解 和掌握,会适得其反,不利于该课程学习。 测量平差辅助教学软件的出现为测量平差教学 中的大量计算提供了很好的工具,常用软件有cai、 测量平差软件、matlab语言等,经过多年powerpoint 格式cai教学和平差软件实践,证明以推导公式为 主的平差课程,只有在开始或小结、 总结时使用才能 有较好的效果,而例题讲解最好的辅助教学软件是 matlab。matlab软件以其强大的矩阵计算、 简捷的 程序编写方法等特点,非常适合初学者进行测量平 差课程的学习,也为课堂教学节约了大量的时间,达 到事半功倍的效果。 1 matlab软件简介 matlab是从matrix(矩阵)和laboratory (实验 室)各取前3个字母组成的,意思是矩阵实验室,是 美国mathworks公司于20世纪80年代中期推出 的一种交互式、 面向对象的科技应用软件,是一个为 科学和工程计算而专门设计的高级交互式软件包。 matlab集成了图示与精确的数值计算,是一个可以 完成各种计算和数据可视化的强有力工具,其优秀 的数值计算能力和卓越的数据可视化能力使其很快 在数学软件中脱颖而出,成为以矩阵运算为主要工 作方式的线性代数、 概率论和数理统计、 自动控制、 数字信号处理、 动态系统仿真等领域教学和科研工 作者的有力武器。随着该软件自身的发展及市场的 需求,其功能日趋完善,目前其最高版本7. 0版已经 推出,随着版本的不断升级,它的数值计算及符号计 算功能得到了进一步完善。 matlab是以矩阵作为数据操作的基本单位,矩 阵的生成、 运算、 转置、 求逆等非常简单。在matlab 环境中,不需要对创建的变量对象给出类型说明和 维数,所有的变量都作为双精度数来分配内存空间, matlab将自动地为每一个变量分配内存。matlab 语言起源于矩阵运算,并已经发展成一种高度集成 的计算机语言,它提供了强大的科学运算、 灵活的程 序设计流程、 高质量的图形可视化与界面设计、 便捷 的与其他程序和语言接口的功能。matlab系统主 要包含5部分的内容:matlab工作环境、mablab数 学函数库、matlab语言体系、 句柄图形、matlab应用 程序接口(api)。 matlab系统主要功能包括:数值计算功能、 符 号计算功能、 数据分析和可视化、 文字处理功能、 simulin k动态仿真功能。同时,matlab又是开放 的,除了内部函数之外,所有的matlab主包文件和 各工具包文件都是可读可改的源文件,用户可以作 为参考掌握其用法,并可对其修改以适应自己的需 要,也可加入自己编写的文件构成新的工具包。例 如,随着gps的广泛应用,orion dynamics and con2 trol corporation、constell inc. gpssoft llc、navsys corporation等多家公司都相应开发出了适于gps 数据处理的matlab工具箱。 matlab是一个集数值计算、 图形管理、 程序开 发于一体的功能十分强大的系统。将matlab应用 于测量数据的处理是一件非常有意义的工作。mo2 hamed等曾成功地在matlab系统中利用白滤波技 术研究动态解算gps载波相位信号的模糊度问题。 因为测量数据的处理特别是测量平差主要应用矩阵 运算,而matlab又特别易于做矩阵运算,因此,研究 开发基于matlab的测量平差方法具有极好的应用 价值。 2 matlab在测量平差中的应用 测量平差数据处理主要是基于矩阵的运算,常 用的矩阵运算主要是矩阵的生成、 转置、 求逆和矩阵 求广义逆等。在matlab环境中,不需要对创建的变 量对象给出类型说明和维数,所有的变量都作为 matlab中的m文件的语法与其他的高级语言类似, 是一种程序化的编程语言,同时也是一种解释性的 编程语言,即逐行解释运行程序,使程序容易调试, 计算更为简捷,而且对于平差原理理解和掌握变得 更容易。另外,matlab语言与数学语言比较接近, 更容易掌握和理解。 对于一个实际平差问题,根据所选参数的个数、 选什么量为参数以及参数之间是否函数独立,测量 平差基础讲述了条件平差、 间接平差、 附有参数的条 件平差和附有限制条件的间接平差共4种经典平差 模型。经过仔细推敲可以发现附有条件的间接平差 模型本身就是各种经典平差模型的概括模型,其余 的经典平差模型,如条件平差模型、 间接平差模型、 附有未知数的条件平差模型和附有限制条件的条件 平差模型都是它的特例。下面以间接平差为例进行 解算,主要公式如下: 平差值方程和误差方程 l=l+v=b x+d,v=b x-l, l=l-l=l-bx-d; 法方程及其解为 b t pb x-b t pl= 0 , x = ( b t pb) - 1 b t pl=n - 1 bbw; 观测值和参数的平差值 l=l+v, x=x+ x; 单位权中误差 0= v t pv r = v t pv n-t ; 平差参数 x的协方差阵 d x x= 2 0q x x= 2 0n - 1 bb; 平差参数的函数的协因数阵 q=f t q x xf=f t n - 1 bbf. 采用文献1例5 - 6的水准网平差为示例,应 用matlab进行程序设计和解算。具体程序代码如 下: disp ( - - - - - - - - - -水准网按间接平 差示例- - - - - - - - - -) disp ( 已知高程) ha = 5. 016 %单位m 77第1期 潘 雄,等:matlab软件在测量平差教学中的应用 hb = 6. 016%单位m disp ( 观测高差(m) l = 1. 359 ;2. 009 ;0. 363 ;1. 012 ;0. 657 ; - 0. 357 disp ( 系数矩阵b) b = 1 0 ;0 1 ;1 0 ;0 1 ; - 1 1 ; - 1 0 l = 0 ;0 ;4 ;3 ;7 ;2 disp( c是单位权观测高差的线路公里数,s是 线路长度) c = 13ones(1 ,6) s = 1. 1 ,1. 7 ,2. 3 ,2. 7 ,2. 4 ,4. 0 p = c.s; %定义观测值的权 p = diag(p) %定义权阵 disp ( 参数的解) x =inv(b 3p3 b) 3b 3p3l disp( 误差v(mm) ,各待定点的高程平差值l1 (m) v =b3x - l%误差方程(mm) l1 =l + v1000%观测值的平差值 disp ( 精度评定) n = 6 ;t = 2 ;%n表示观测值的个数,t表 示必要观测数 delata = sqrt (v 3p3v(n - t) 通 过 计 算, v= - 0. 242 7 , 2. 855 2 , - 4. 242 7 ,- 0. 144 8 ,- 3. 902 1 ,- 1. 757 3 (mm) ;观测值的平差值l1 = 1. 358 8 ,2. 011 9 , 0. 358 8 ,1. 011 9 ,0. 653 1 , - 0. 358 8 ;单位权中误 差为 2. 224 8 mm。 通过上述算例可以看出,利用matlab软件处理 平差中的计算问题,简单明了,便于学生检查。计算 的过程加深了学生对公式、 计算理论和方法的理解。 如果计算比较熟练,不需要显示计算过程,只要计算 结果,只需在不需显示的语句后面加上分号。 3 结 论 matlab软件在测量平差教学中使用,在课外可 以将学生从繁琐的数值计算中解脱出来,用更多的 时间学习平差理论;在课堂上与多媒体课件相结合, 不必演算其过程,节省时间,有利于学生把专业知识 与流行的软件相结合,提高计算机应用技能。 matlab软件除了强大的科学运算、 灵活的程序 设计流程、 高质量的图形可视化与界面设计之外,还 有便捷的与其他程序和语言接口的功能,因此利用 matlab中的m文件编写平差模型的函数库及现在 流行的面向对象编程的语言(如visualbasic ,visu2 alc6等)编制界面,再利用接口技术直接调用由 matlab建立的平差函数库,在界面上输入数据,就 可直接得到平差结果,自动完成平差过程。 参考文献 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论