基于MatrixVB的测量平差程序设计与实现
- 格式:pdf
- 大小:355.14 KB
- 文档页数:5
Case 0 '读入观测值文件Text1.Visible = FalseCommonDialog1.ShowOpenfname = CommonDialog1.FileName '将用户在"打开"对话框中选择的文件名对变量fname赋值If fname <> "" Then '若无此判断当对话框中选择取消时、下面赋值语句将出错Set ts = fso.OpenTextFile(fname) '将fname作为文本文件打开,并设置句柄j = 0: k = 0: p = 0: h = 0'j是测站数累计变量,k是已知点累计变量,l(j)、ns(j)分别是方向值、边长累积计数Do While ts.AtEndOfLine <> True '前测型循环,进入循环的条件是没有读到文件结束尾B = ts.ReadLine '读一行,置入bB = Trim(B): i = 1: '删除B可能有的前导和尾随空格,i是工作变量,m(i) = InStr(B, ",") '查行中第一个逗号的左数位置,并保存在整形数组变量m(i)Do While m(i) <> 0 '前测型Do... Loop循环,成立条件是该行字符串中有逗号tr(i) = Mid(B, m(i - 1) + 1, m(i) - m(i - 1) - 1) '提取指定位置开始的指定数目字符。
i = i + 1m(i) = InStr(m(i - 1) + 1, B, ",") '从上一个找到的逗号位置起,查找下一个逗号的位置LoopIf m(i) = 0 And i > 1 Then tr(i) = Right(B, Len(B) - m(i - 1)) '处理一行中最后一个逗号后的字符串'以下部分是将存储在数组变量m(i)中的字符分类存放到方向、边长、已知坐标、网型信息等数组中If p = 0 Then '读到的是文件第一行。
872019年4月总第311期ISSN1672-1438CN11-4994/T基于MatLab 的测量平差课程教学方法探讨王俊锋 贾文祥黄河交通学院交通工程学院 河南焦作 454950摘 要:针对测量平差课程理论性强、公式多、计算难度大等特点,传统的教学方法难以取得理想的教学效果。
通过分析测量平差教学中存在的问题,提出将MatLab 应用到测量平差课程教学中;并举例说明借助MatLab 在测量数据处理方面的优越性和实用性,有利于加深学生对知识的理解,提高学生的实践和创新能力,使测量平差教学达到良好效果。
关键词:MatLab ;测量平差;教学方法;教学实践作者简介:王俊锋,工学硕士,助教;贾文祥,工学硕士,助教。
测量平差是测绘工程专业一门必修的专业基础核心课程,为测绘类专业领域内其他课程提供数据处理的基础。
本课程是测绘学科的基础理论,对该课程掌握的好坏直接关系到测绘人才培养的质量[1]。
测量平差课程涉及高等数学、线性代数、概率论与数理统计以及测量学基础等课程知识,是应用数学理论与计算方法在测量数据处理中的典型应用,这也导致了该课程具有理论性强、公式推导多、计算难度大的特点[2],给教学带来了较大的困难。
因此,除了对平差基本原理和方法的讲授,测量平差课程教学要偏重对工程实践能力的培养,这要求必须在知识的传授方法上进行改革[3,4]。
随着计算机技术不断被引入测量领域,近几年部分高校已经将测量平差软件应用到测量平差课程的教学过程中,取得了一些成效。
但绝大部分测量平差软件只关注原始数据的输入和结果的输出,缺少平差计算过程,并不适合进行教学[5]。
MatLab 是一款高性能数值运算软件[6],具有强大的矩阵运算、绘图、数据分析和可视化、动态仿真等功能,能拓宽学生知识面,培养创新思维[7],功能强大的统计工具箱和简单的编程语言可以方便地进行测量数据处理。
将MatLab 应用于教学可以节省课堂授课时间,学生在实践过程中也易于加深理解,使测量平差课程教学达到很好的效果。
毕业论文论文题目基于VB的间接平差程序设计专业班级工程测量学生姓名黄晓伟指导教师王克晓完成时间2015年5月5日重庆能源职业学院重庆能源职业学院毕业设计(论文)指导教师评语评语:成绩:指导教师签名:年月日重庆能源职业学院毕业设计(论文)答辩记录目录摘要 (1)1 引言 (2)1.1 现状分析 (2)1.2 目的及意义 (3)1.3 研究内容 (4)2 Visual Basic编程语言概述 (5)2.1 Visual Basic简介 (5)2.2Visual Basic程序设计简述 (8)3 间接平差 (25)4.1 平差软件整体展示 (29)5算例演算 (32)5.1水准网间接平差 (32)6 结论 (34)测量平差是测绘类专业的一门重要的专业基础课程,是用于观测数据处理的一门应用数学。
但是因为其计算量比较大,这变使大家在学习和使用的时候感觉十分头疼。
虽然有很多简化了的平差算法,比如高斯约化法,但是这些算法一方面会影响计算精度,另一方面也不能有效的减少计算量。
平差计算是利用最小二乘原理消除观测值与起算数据之间的矛盾,求出各待定元素的平差值并评定精度。
而在经典测量平差中,主要研究四种平差模型方程(条件平差、间接平差、附有未知参数的条件平差和附有限制条件的间接平差)的列立和求解,其牵涉到大量的矩阵运算,传统的人工计算工作量很大。
随着计算机的出现,矩阵运算就变得轻松,而且计算机的运行速度快,精度高,特别是对于具有大量矩阵运算,计算机轻松解决。
前提是要编好相应的程序代码。
本文运用visual basic语言编制了一个平差软件,主要对水准网和附合导线进行了平差的编制和软件程序界面的设计,实现的功能主要有对水准网数据和附合导线数据的平差计算,当然为了平差后能使用数据,本软件还设计了数据输出的功能,使界面更友好,方便用户使用。
关键词:水准网间接平差,visual basic ,visual basic界面设计(GUI)1.1 现状分析Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
MatrixVB在测量数据处理中的应用林永秋,福建省建筑科学研究院 350025,[摘要] 本文介绍了MatrixVB的主要功能以及引用方式~并且重点介绍了在测量数据处理中比较重要的两个方面~即矩阵运算以及图形处理。
通过本文的实例可以发现~在VB中加载了MatrixVB插件之后~使得程序代码编写的负担大大减轻。
MATLAB和VB具有较好的互补性~采用MatrixVB和VB混合编程~既保留了MATLAB强大的矩阵运算图形处理等功能~又集成了VB高级语言界面友好易于编译等优点。
说明了采用MatrixVB和VB混合编程在测量数据处理中具有较好的实用价值。
[关键词] MatrixVB MATLAB VB 测量数据处理矩阵运算图形处理The application of matrixvb in measurement data processingLin YongqiuAbstract: This paper has introduced key functions and citation method of MatrixVB, highlighted two aspects which are more important in surveying data processing, namely matrix operation and graphic processing. It can be found that through these examples in this paper, after loading Matrix in VB, the burden of compiling program code can be reduced greatly. MATLAB and VB have good complementarity. Using both of them for mixed programming, it has reserved the advantaged of both MATLAB and VB. It enjoys the strong matrix operation and graphicprocessing functions of MATLAB and friendly interface and easinessto compile of VB. So the conclusion that the mixed programming using MatrixVB and VB has good practicability in surveying data processing can be drawn.Keywords:MatrixVB,MATLAB,VB, Surveying Data Processing, MatrixOperation, Graphic Processing。
误差理论与测量平差础)课程设计报告系(部):土木工程系实习单位:山东交通学院班级:测绘084学生姓名:田忠星学号080712420带队教师:夏小裕﹑周宝兴时间:10 年12 月13 日到10 年12 月19 日山东交通学院目录:1.摘要P32.概述P33.水准网间接平差程序设计思路P3—P44.平差程序流程图P4—P65.程序源代码及说明P7—P236.计算结果P23—P267.总结P26—P27一:摘要在测量工作中,为了能及时发现错误和提高测量成果的精度,常作多余观测,这就产生了平差问题。
在一个平差问题中,当所选的独立参数X?的个数等于必要观测数t 时,可将每个观测值表达成这t 个参数的函数,组成观测方程,这种以观测方程为函数模型的平差方法,就是间接平差。
二:概述:该课程设计的主要目是对水准网进行间接平差,在输入数据后依次计算高程近似值﹑误差方程和平差计算。
三:水准网间接平差程序设计思路1.根据平差问题的性质,选择t 个独立量(既未知点的高程)作为参数X?2.将每一个观测量的平差值(既观测的高程差值)分别表达成L L V3.由误差方程系数 B 和自由项组成法方程,法方程个数等于参数的个数t ;4. 解算法方程,求出参数X?,计算参数(高程)的平差值X?=X0 +x? ;5.由误差方程计算V,求出观测量(高差)平差值L L V 6.评定精度单位权中误差平差值函数的中误差四:平差程序流程图1. 已知数据的输入 需要输入的数据包括水准网中已知点数﹑未知点数以及这些点 的点号, 已知高程和高差观测值﹑距离观测值。
程序采用文件方 式进行输入,约定文件输入的格式如下: 第一行:已知点数﹑未知点数﹑观测值个数 第二行:点号(已知点在前,未知点在后) 第三行:已知高程(顺序与上一行的点号对应) 第四行:高差观测值,按“起点点号,终点点号。
高差观测值, 距离观测值”的顺序输入。
本节中使用的算例的数据格式如下2,3,7 1,2,3,4,5 5.016,6.016 1,3,1.359,1.11,4,2.009,1.7 2,3,0.363,2.3 2,4,1.012,2.7 3,4,0.657,2.4 3,5,0.238,1.4 5,2,-0.595,2.6 2.平差计算过程V TPV rV TPVnus(1)近似高程的计算。
基于VB的测量程序设计的研究摘要:随着测绘技术的不断发展,计算机在现代测绘学科中的应用越来越广泛,已经深入到从理论研究到实际生产的方方面面。
本文是以MircoSoft公司的VisualBasic6.0开发的“地形图分幅与编号”测量程序为例来进行介绍的。
关键字:VB语言;测量程序;图幅分幅一、VB语言的特点简介目前使用较多的高级语言有Visual Basic、Visual FoxPro、Visual C++、Java 等,它们各有特点,分别适用于不同的领域。
从应用角度上讲VB简单易用、方便迅速、功能强大、应用广泛,适合测绘专业人员使用;也非常适合作为入门语言来学习。
VB语言的特点:(1)具有面相对对象的可视化设计工具:在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起来视为一个对象,每个对象都是可视的,程序员在设计时,只需根据界面设计的要求,用现有的工具直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。
(2)事件驱动的编程机制事件驱动是非常适合图形用户界面的编程方式。
事件掌握着程序有运行的方向,每个事件都能驱动一段程序的运行。
程序员只需编写相应用户动作的代码,而各个动作之间不一定有联系。
这样的应用程序代码一般较短,所以既易于编写又易于维护。
(3)提供易学易用的应用程序集成开发环境在VB集成开发环境中,用户可以设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的环境中工作。
(4)结构化的程序语言设计VB具有丰富的数据类型和结构优化程序结构,而且简单易学。
此外作为一种程序设计语言,VB还有许多的独到之处:①强大的数值和字符串处理功能。
②丰富的图形指令,可方便地绘制各种图形③提供静态和动态数组,有利于简化内存管理。
④过程可递归调用,使程序更为简练。
⑤支持随机文件访问和顺序文件访问。
⑥提供了一个可供应用程序调用的包含多种类型的图标库。
VB开发水准测量平差软件的方法摘要:本文介绍了应用Visual Basic6.0开发的水准测量平差软件的方法。
通过软件自动生成EXCEL格式的水准测量平差计算表格进行数据处理,快速、准确计算出待求点的高程。
关键词:VB;数据处理;水准测量水准测量平差计算就是对合格的高差予以调整。
将闭合差以相反的符号按与各段水准路线长度(或按测站数)成正比的办法调整到各段高差上,求出改正后的高差再推算高程。
手工计算速度慢、工作效率低,同时易出现计算错误,而Visual Basic6.0是一种简单易学的可视化语言,用其进行编程计算就显得方便灵活。
本文结合作者工作的实践,详细地介绍了用VB开发水准测量平差软件的方法及应用。
1.VB语言的特点(1).面向对象和可视化的程序设计。
(2).事件驱动的运行机制。
(3).结构化的程序设计语言。
(4).多种数据库访问能力。
(5).提供了功能完备的应用程序集成开发环境。
(6).方便使用的联机帮助功能。
2.水准测量平差计算的方法(1).计算高差闭合差fh。
fh=Σh测 -(H终-H始)fh允=±20(按四等水准测量限差)fh≤fh允(合格)fh允—允许闭合差;Σh测—实测的各段高差和;H始—起点高程;H终—终点高程;(2).计算高差改正数Vi。
Σn —总测站数或路线总长度(km);ni —分段测站数或分段路线长度(km);(3).计算改正后高差h改i。
h改i=h测¬ + Vi(4).计算待求点高程Hi。
Hi=Hi-1+ h改i3.软件的开发原理首先在VB中设计了一个固定的界面(图3.1),添加相应功能键及数据输入文本框,通过输入相应的数据,利用VB编程实现自动生成电子表格;通过VB操作电子表格里数据进行平差计算。
根据不同的平差方法,本软件设置按距离进行平差和按测站数进行平差两种计算方法。
图3.1水准测量平差软件界面3.1参数输入方式数据输入设计成两种方式;一种是先建立文本格式(txt)的参数文件,通过编写程序代码实现直接读取数据。