基于MATLAB的附和水准路线平差计算任务书
[关键词:MATLAB,水准路线平差] [热度 ]1.项目内容与方法、项目成果。
研究内容:
利用MATLAB软件设计水准网平差的计算程序
研究方法:
对基于间接平差的水准网算法进行分析,在此基础上利用MATLAB 对水准网平差进行了程序设计和实现。
(1)首先,依据间接平差的计算方法,整理出水准网简介平差的具体过程:
a.根据水准网性进行分析,列误差方程
b.根据误差方程系数列法方程
c.解算法方程,求参数X和V
d.求最或然值,精度评定
(2)野外测量获得一组水准网测量数据,并进行整理汇总
(3)进行MATLAB软件的学习
a.充分利用学校的图书馆资源。到图书馆借阅有关MATLAB基础教程、MATLAB编程的书籍,对MATLAB软件界面、使用方法、软件功能有个大体的认识与了解。
b.合理利用网络资源。通过自学网的视频教学,可以对MATLAB软件有个比较直观的了解。全英文的MATLAB软件应用起来比较困难,通过视频教学,合理利用电子词典,首先对MATLAB界面有个比较熟悉的了解,同时试着编写小程序并运行。
(4)根据简介平差的计算过程,结合MATLAB矩阵运算的特点,编写水准网平差计算程序。水准网平差计算程序分为五个大部分:导入已知数据、水准网误差方程系数矩阵的生成、水准网平差计算、精度评定、数据的输出。小组成员合理分工,分块编写程序,并进行检核。最后,根据水准网平差的计算过程,以及MATLAB编程的特点确定程序设计流程,将五部分的程序连接在一起,组合成为一个完整的程序。
项目成果:
我们对水准网平差过程进行了细致的研究,并结合MATLAB强大的矩阵功能编写了一套计算水准网平差的程序。将已知数据输入.xls表格中用XLSREAD进行数据的读入,利用程序进行计算并导出所需未知点的高程值,方便简洁快速。
主要计算程序:
p=diag(1./s);%求解权阵
x=inv(B'*p*B)*(B'*p*L);
v=B*x-L;%观测值改正数
L_hat=h+v;%高差观测值
H_hat = shuru(2,2).*ones(3,1) + L_hat(1:3);
2.特色与创新点、推广与应用、实施心得、改进意见
利用MATLAB强大的矩阵计算功能,对平差计算中大量的矩阵数据进行处理,大大的减少了计算量,同时,灵活运用多种函数实现对各种水准网的可应用性,方便快捷的实现对水准网平差的计算。
由于MATLAB独特的数值计算功能,使得不需要编写专门的函数,而直接处理和计算测量数据,大大缩短了变成时间,使得我们可以将更多地时间放在专业问题的研究上面。
目前,大多业内人士认为利用间接平差原理进行水准网中最或然高程值的运算是较为简单,就现状而言,测量平差程序设计大多采用Fortran 语言、C 语言、Visual C++ 语言及Visual Basic 语言进行程序的编制,这些语言在生成软件、进行封装等方面比较有优势。然而仅仅就根据实际情况的数据处理而言, 近年来逐步发展起来的高性能科学计算分析编程软件MATLAB却具有巨大优势。在MATLAB 中的M 文件的语法与其他的高级语言类似,是一种程序化的编程语言,同时也是一种解释性的编程语言,即逐行解释运行程序,使程序容易调试,计算更为简捷,而且对于平差原理理解和掌握变得更容易,MATLAB 是近年来逐渐发展起来的大型数学计算软件,在测绘数据处理中用途越来越广泛,参阅一些利用MATLAB处理水准网平差问题的文献,发现大多数是手工计算误差方程系数矩阵,再利用MATLAB解算未知数,这种方法工作量大,可靠性和工作效率都比较低。根据现实情况,结合MATLAB强大的矩阵计算功能,配合间接平差,按照最小二乘原理快速、方便的求得水准网的未知点的最或然值。
通过运用MATLAB对水准平差进行计算,不仅使我们掌握了一门计算机语言,我们也在这个过程中更加深入的了解水准平差,对其运用也更加灵活。在编程过程中,其计算与我们人工计算的流程是大不相同的,更加的抓住重点,直接切入主题,方法简便,同时对水准网、平差原理的掌握有了更高的要求。
改进意见:可进一步研究 ,利用MATLAB的建模功能,是数据实现可视化。