logo资料库

基于MATLAB的平差程序设计.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
第 8 卷 第 3 期 华北科技学院学报 2011 年 7 月 基于 Matlab 的水准网间接平差程序设计 ① 赵亚红② 周文国 ( 华北科技学院土木工程系,北京 东燕郊 101601 ) 摘 要: 设计水准网数据结构,存储在文本中,按照水准网的起点、终点、观测数据相对应关系建立矩阵,利 用 Matlab 强大的矩阵运算功能,通过间接平差方法,按照最小二乘原理,求得任意水准网的未知点的最或然 高程值,对平差结果输出存储,程序直观、简便。并用实例验证了其正确性及通用性。 关键词: 水准网; 间接平差; Matlab 中图分类号:P207 + . 2 文献标识码: A 文章编号: 1672 - 7169( 2011) 03 - 0058 - 03 2 1 3 4 ; ( 水准网间接平差的的具体过程是: ( 水准网形进行分析,列误差方程; ( 程系数列法方程; ( ) 根据 ) 根据误差方 ) 解算法方程,求参数 X 及 ) 求最或然值、精度评定。其中重点是误差 V 方程的列立及误差方程系数矩阵的确定,在大多 数利用 Matlab 计算水准网平差问题的文献中,误 差方程的系数矩阵均为手动输入,不适用于任何 网形,而且对于输出结果没有一定的存储文件,针 对以上存在的缺陷,本文利用 Matlab 强大的矩阵 运算且 易 学 易 懂 等 优 点,通 过 程 序 设 计,利 用 . mat 文件,根据水准网自身数据结构的特点,自 ,进行平差计算,最终以文本的 动生成系数矩阵 B 格式输出最终结果,简便快捷,减少了工作量。 1 水准网数据结构的设计 水准网根据其网形可分为附合、闭合和支水 准。其中应用最广的为附合和闭合水准网。不管 何种网形,一条水准路线包括四个数据: 起始点、 高差、距 离、终 点,且 H起 + h高差 = H终 ,因 此 在 进 行数据结构的设计中,必须体现出终点、起点从而 判断其与高差关系。在本程序设计中,利用 QD [], []分别表示起点点号、 终点点号、高差、距离、所有点点号所组成的矩阵。 在进行程序设计时,为了简便快捷,利用读入数据 形式,读取所有已知数据,格式如下: [], hc [], S [], DD ZD 已知点个数 未知点个数 观测值个数 已知点点号 已知点高程 起点点号 终点点号 观测高差 距离值 利用 Matlab 的函数 fopen 语句打开文本文件。针 对不同的网形,只需修改已知数据文件即可。 2 水准网程序设计 根据水准网平差的计算过程,本程序设计的 流程如图 1 图 1 水准网间接平差程序流程图 2. 1 水准网所有点高程确定 在水准网间接平差计算过程中,按照已知点 的个数确定参数个数,有已知点时,参数个数等于 未知点个数,没有已知点时参数个数等于未知点 ,但是在进行方程列立时,为了计算方便 个数减 1 首先要求得参数 X 的近似值,但是对于用程序实 收稿日期: 作者简介: 赵亚红( 2011 - 03 - 14 1982 - ① ② 处理。 85 ) ,女,河北衡水人,硕士,华北科技学院土木工程系讲师,研究方向: 测绘工程教学、遥感图像及数据
第 3 期 赵亚红等: 基于 Matlab 的水准网间接平差程序设计 现其自动求取近似值比较麻烦,为了 Matlab 实现 运算简单,因此在本程序中,所有未知点的高程起 ,通过以下代码实现。 始值均为 0 ; % HH 为 读 取 文 件 中 已 知 点 高 程 矩 HHH = HH 阵, % zd 总点数, fori = 1 HHH 为未知点高程 wz 未知点数, b : % 给未知高程点添 ; ( = 0 HHH ) zd - wz + i , b 为未知点个数 加高程零生成 HHH end 2. 2 水准网误差方程系数矩阵生成 对于水准网间接平差而言,最重要的计算步 骤不外乎误差方程的列立,而对于程序设计重点 和难点就是自动生成误差方程系数矩阵 B 和常 数项 L。在本程序的设计过程中,利用起始点、终 点、高差。距离之间的对应关系,利用循环计算常 ,由于水准网比较特殊,系数阵 B 也特殊基 数项 L 本上是 0、1 、- 1 组成的矩阵,根据这一特点利用 对应关系确定其系数阵 B。 , ZD 存放的是与 DD 相对应的点点号 在 DD 中的索引( 位置) ,通过自定义函数实现,方 便确定 B 与 L。 % QD : fori = 1 c e = QD ( f = ZD ) ( L i ( ) ; i ) ; i = h ( ) i ( - HHH ( ) f - HHH ) ) ; ( e % 常数项 L End % 解求系数矩阵 B fori = 1 c : ( e = be ( f = en i ) ; i ) ; ( ( ) ( e , i1 i i1 = e - zd - wz i2 = f - zd - wz ) ; ) ; ( if HHH ( B ) ; = = 0 = - 1 ) end ( if ) ( f , i2 i ) = = 0 ; ) = 1 HHH ( B end end 2. 3 水准网平差计算与结果输出 ) 对于水准网平差计算,相对 Matlab 而言。 1 仅需几行代码可以实现 B’* p* l ) ; % 高 ( ) ; 1. / s % 解权阵 p = diag ( ) B’* p* B , B 系数阵, x = inv 程改正数 x * ( l 为常数项阵 % 观测值改正数 ; v = B* x - l ; L = h’+ v ( u0 = sqrt Qxx = inv % 高差观测值 ( c - b ) ; v’* p* v / ( ) ) ; B’* p* B ( ( u1 = u0* sqrt diag Qxx ) ) ; % 待定点高 程平差值中误差 ; Qll = B* Qxx* B’ ( ( ) ) ; 2 Qll diag uu = u0* sqrt ) 结果输出,为了使结果直观,便于查看各 个未知点高程最或然值和其高程平差值中误差, 把结果输出到 . txt 中。利用 Matlab 中的 fopen 函 数打开空文件或建立空文件,利用 fprintf 将计算 结果按照一定的格式输出, 3 实例验证 以参考文献[ ] 6 p108 的例题 7-1 ,已知 HA = 237. 483 , B、C、D 未知,观测数据如下存储: 1 3 5 A 237. 483 A B 5. 835 3. 5 A C 9. 640 4. 0 A D 2. 270 2. 5 B C 3. 782 2. 7 D C 7. 384 3. 0 表 1 计算结果对照表 点号 原始高程 程序计算高程( ) m 文献计算结果( ) m 2 4 3 0. 0000 0. 0000 0. 0000 243. 3299 239. 7457 247. 1210 243. 330 239. 746 247. 121 程序计算结果与文献结果一致,说名程序设 计正确。 4 结论 在进行平差计算的过程中,最繁琐复杂的莫 过于矩阵运算,尤其是矩阵求逆,本文利用 MAT- LAB 强大的矩阵运算功能,轻而易举的解决了此 95
第 8 卷 第 3 期 华北科技学院学报 2011 年 7 月 问题,而且其语言简单易懂,在《测量平差》教学 过程中,只要有一点的基础,就可以实现一些复杂 的计算。本文根据数据文件结构,自动读取数据, 按照数据的存储寻找起点、终点、高差之间的对应 关系,列误差方程,计算常数项及系数矩阵,为了 计算方便,把未知点的高程初始值均设为 0 ,经过 平差解算其改正数,中误差等,并通过读写文件输 出平差的最终结果,而且本程序适用于任何网形 的水准网,只需对数据文件进行修改即可。另外 对于导线网、三角网在误差方程的构成上与水准 网近似,因此也可以用相同的设计思路进行讨论。 参考文献: [1] 周建兴,等 . Matlab 从入门到精通[M]. 北京: 人民邮电出版社,2008: 10 - 57 [2] Rafael C. G on zalez. Digital Image Processing Second Edition[M]. 北 京: 电 子 工 业 出 版 社, 2007: 4 - 35 [3] 赵亚红,郝延锦,等 . Matlab 在测绘工程领域中 的几点 应 用[J]. 地 矿 测 绘,2011,27 ( 1 ) : 38 - 40 [4] 潘雄,付宗堂 . MATLAB 软件在测量平差教学 中的应用[J]. 测绘工程,2007,( 1) : 76 - 78 [5] 聂桂根 . MATLAB 在测量数据处理中的应用 [J]. 测绘通报,2001,( 2) : 39 - 40 [6] 武汉大学测绘学院测量平差学科组 . 误差理 论与测量平差基础[M]. 武汉: 武汉大学出版 社,2003 Indirect Adjustment Programming of Level Net Based on MATLAB ZHAO Yahong , ZHOU Wenguo ( North China Institute of Science and Technology , Yanjiao Beijing-East 101601 ) : Abstract On the basis of data structure designed , the relation of point s and lines of level net was output and stored. At last , the example proved the programme was right. : ; level Net Indirect Adjustment ; Matlab data are st ored in the text , the matrixs were set up through the relation of the jupping - off points data. And a program is designed in MATLAB to get the value of most probable by its strong abilty of calculating matrix. the result , the surveying data and the known , end - points and the surveying Key words 06
word版下载:http://www.ixueshu.com 免费论文查重:http://www.paperyy.com 3亿免费文献下载:http://www.ixueshu.com 超值论文自动降重:http://www.paperyy.com/reduce_repetition PPT免费模版下载:http://ppt.ixueshu.com ------------------------------------------------------------------------------- 阅读此文的还阅读了: 1. 基于MATLAB的改进导线网平差程序设计 2. 基于EXCEL的水准网间接平差应用 3. 导线平差程序设计与应用 4. 基于VB6.0的矿区水准网综合平差程序的开发 5. 基于VC的水准网平差程序的设计与研究 6. 基于VC^++与MATLAB混合程序设计与应用 7. 基于MATLAB的斜梁计算和绘图的程序设计 8. 基于Matlab的AHP分析程序设计 9. 水准网平差程序的设计与实现 10. 利用MATLAB实现水准网条件平差 11. 基于Matlab的遗传算法程序设计 12. 基于Matlab的水准网间接平差程序设计 13. 基于Matlab的TMS320LF2407程序快速设计 14. 基于Matlab程序的电磁铁的设计与性能分析 15. 基于MATLAB GUI的概率分布程序设计 16. 基于Matlab的坐标转换程序设计 17. 粗差探测在水准网平差程序设计中的实现 18. 用EXCEL编制间接平差计算程序 19. 浅谈条件平差和间接平差的一致性 20. 间接平差法程序设计的思路及体会 21. 基于matlab的车牌定位程序设计 22. 含i角因子的水准网平差软件设计 23. 基于MATLAB的秩亏自由网平差研究 24. 基于MATLAB的水准网平差程序设计 25. 基于Excel的间接平差坐标转换与实现
26. 基于间接平差中l的粗差探测方法 27. 基于ExcelVBA的水准网间接平差的应用 28. 基于C#的导线平差程序设计 29. 基于VB环境下水准网平差程序设计研究 30. 基于MATLAB的水准网平差程序设计 31. 基于Matlab的导线网平差程序设计 32. 基于间接平差的导线网的坐标计算及精度评定 33. 基于间接平差中/的粗差探测方法 34. 水准网平差CRITIC定权法 35. 基于Matlab的GPS水准高程拟合程序设计 36. 基于MATLAB的水准网平差程序设计与实现 37. 基于Matlab的遗传算法程序设计探讨 38. 水准网测量平差软件设计与开发 39. 基于VB程序的GPS基线向量网平差程序设计 40. 基于MATLAB的水准网经典平差系统的开发和应用 41. 基于间接平差法闭合导线的计算 42. 基于MATLAB的GPS网平差的程序设计及实现 43. 基于MATLAB程序对于偏置曲线的实现 44. 水准网平差程序设计 45. 基于Matlab的GPS高程拟合程序设计 46. 用EXCEL进行四等水准网严密平差 47. 利用传递数矩阵的水准网条件平差程序设计 48. 基于MATLAB的单三角锁严密平差程序设计 49. 基于MATLAB的枪炮内弹道程序设计及仿真 50. 基于VC6.0平台的水准网平差数据库设计与实现
分享到:
收藏