您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > MATLAB在测量数据处理中的应用
MATLAB在测量数据处理中的应用兰州军区第一测绘大队龚真春胡建军白冰MATLAB是目前国际上最流行、应用最广泛的科学与工程计算软件,具有语言简洁紧凑、使用方便、编程效率高、图形功能强、工具箱全面等特点,深受广大科技工作者的喜爱。MATLAB应用范围非常广,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等众多应用领域。本文主要介绍MATLAB软件在测绘数据处理中的应用,并以其神经网络工具箱在GPS高程转换时的具体运用为例,分析和探讨了MATLAB应用于测绘领域的优势和思路。一、MATLAB在测绘领域中的应用测绘科学是一门以大规模数据甚至是海量数据处理、分析与应用为基础的学科,其各项具体工作如测量平差、GPS高程与水准高程换算、遥感图像处理、坐标换算等,都涉及大量的计算。作为一种优秀的程序设计工具,MATLAB在大规模数据处理特别是矩阵运算方面具有其他程序设计语言难以比拟的优越性。在对测量数据或图像处理过程中,常常要面对大量的矩阵运算和海量的数据。这时需要用C、FORTRAN或C++和VB等语言来编写相应的程序来处理这些问题,要消耗大量的时间和精力,还有可能犯错。而用MATLAB进行编程时,可能只需要一条语句或函数就能解决这些问题,大大减轻了工作量,提高了程序的编写效率。例如坐标换算是测绘工作中必不可少的部分,在地理信息系统、遥感图像配准、GPS后处理等工作中都要用到坐标转换。坐标转换实质是求解转换系数的过程,即可简化为:''(,)(1)XYXYFXYT如用其它计算机语言实现,则需用相当复杂的算法和代码,而在ATLAB中只需采用矩阵除法符号“/”,即:''/(,)(2)TXYXYFXYT根据一定的控制点求出转换矩阵T后,即可用矩阵相乘形式将所有待转换点的新坐标求出来,计算过程简单,可以直接由语言实现。同样,MATLAB可以方便地实现测量数据、遥感影像的频域分析,傅立叶变换函数为我们分析测量据提供了有效的方法。其自带的小波分析工具箱,提供了大量的小波分析工具,用于一维信号分析和二维影像处理,可实现影像的特征提取、数据压缩以及图像的融合等。实践证明,MATLAB处理测绘数据具有更大的优越性将其引入测绘领域是一件非常有意义的事情。二、面向MATLAB转换GPS高程的神经网络方法1.GPS高程拟合方法GPS测量得到的地面点高程是在WGS-84椭球上的大地高GPSH,而我国采用的高程系统为正常高系统,因此在实际测量工作中,更多需要的是正常高rH。这就需要找出GPS点的大地高与正常高的关系,并用一定的方法转换GPS高程。二者之间的关系如下式所示:(3)rGPSHH目前,用于CPS高程拟合的方法较多,如:样条函数法、多项式曲面拟合法、非参数回归曲面拟合法和移动曲面法等,这里不再详述。2.MATLAB中的BP神经网络及其算法简介近年来,出现了用于转换GPS高程的人工神经网络方法,它是一种自适应的映射方法,在转换GPS高程时不需作假设,能减少模型误差,具有较高的精度,国内外许多学者已对其进行较多的研究和运用。BP神经网络(BackPropationNetwork)是基于误差反向传播算法的多层前馈网络。如图1所示。1x2xmxMx1y2ypyPy...............图1BP神经网络原理图显然,BP网络的输入与输出关系是一个高度的非线性映射关系,即::,()0(4)nmFRRfx对于样本集合:输入nixR和mjOR,可以认为存在某一个映射g,使(),1,...,;1,...5ijgxOinjm,。()BP神经网络实质上是一种函数逼近器,理论上它可以无限度的逼近任何线性或非线性的函数,其工作方式分为两个阶段:一个阶段为学习阶段,另一个阶段为BP网络计算阶段。尽管神经网络方法优势明显,但由于神经网络系统理论较为复杂,因而编程实现起来比较困难。但MATLAB为我们提供了一个很好的工具,其神经网络工具箱几乎涵盖了所有的神经网络常用模型,集成了多种学习算法,为BP神经网络的应用研究提供了强有力的工具,我们可以根据自己的需要去调用工具箱中的设计和训练程序。3.基于MATLAB的GPS高程拟合实现如上所述,下面给出GPS高程拟合程序的部分源码及功能如下:%学习阶段%…[pn,p最小值,p最大值,tn,t最小值,t最大值]=premnmx(p,t);%数据预处理Net=newrbe(P,T,SPREAD)%建立网络Net=newff(minmax(pn),[输入层层数,输出层层数],{'传输函数','传输函数'},'训练方法');Net=init(net)%初始化网络Net.trainParam.show=100;%间隔…[net,tr]=train(net,pn,tn);%训练生的成BP神经网络an=sim(net,pn);%模拟学习数据a=postmnmx(an,最小值t,最大值t);%复原学习数据deta1=(t-a);%求学习误差…%工作阶段%pnewn=tramnmx(p2,p最小值,p最大值)Loadsurveyingnetnet;%加载保存的已训练好的网络bn=sim(net,pnewn);%模拟工作数据b=postmnmx(bn,t最小值,t最大值);%复原工作数据deta2=(t2-b);%求工作误差…三、实例解算及分析所采用的数据为某三级GPS大地控制网中的GPS点位观测数据,且所有点位都进行了三等以上水准联测。选取其中4,10,15个均匀分布于测区的点作为已知点构成学习集,其它36,30,25个点作为工作集,用于检验转换GPS高程的拟合效果。根据以上程序,本文结合工程数据反复的试验与分析,确定了一个10×1结构的神经网络,该网络运行结果稳定,无不收敛情况发生。结果见表1。四、结束语综上所述,MATLAB功能强大,并且开发工具方便快捷,编程的特点更贴近人们的思维方式。MATLAB在对测量数据进行的处理和分析时,是较好的数学工具软件。将MATLAB与测绘领域实际问题相结合,可方便地开发出测量数据处理的应用程序,大大提高工作效率。因此MATLAB在测量数据处理和程序开发中具有极大的应用前景,必将越来越多应用于测绘领域。表1:10×1结构拟合结果单位:m备注::高程异常偏差;0:已知高程异常;:拟合结果。点号022448113361061015160-0.00390.0055-0.01200.0023-0.0017-0.0096-0.0049-0.0058-0.0073-0.0087点号172026303239505254560-0.0065-0.0054-0.0011-0.00520.0020-0.00850.0043-0.0047-0.0126-0.0102点号646566288031053462690-0.00680.0064-0.00450.01060.0017-0.00460.0134-0.0008-0.0103-0.0092
本文标题:MATLAB在测量数据处理中的应用
链接地址:https://www.777doc.com/doc-2881990 .html