MATLAB在测量数据处理中的应用_精品文档Word文档格式.doc
《MATLAB在测量数据处理中的应用_精品文档Word文档格式.doc》由会员分享,可在线阅读,更多相关《MATLAB在测量数据处理中的应用_精品文档Word文档格式.doc(3页珍藏版)》请在冰豆网上搜索。
这时需要用C、FORTRAN或C++和VB等语言来编写相应的程序来处理这些问题,要消耗大量的时间和精力,还有可能犯错。
而用MATLAB进行编程时,可能只需要一条语句或函数就能解决这些问题,大大减轻了工作量,提高了程序的编写效率。
例如坐标换算是测绘工作中必不可少的部分,在地理信息系统、遥感图像配准、GPS后处理等工作中都要用到坐标转换。
坐标转换实质是求解转换系数的过程,即可简化为:
如用其它计算机语言实现,则需用相当复杂的算法和代码,而在ATLAB中只需采用矩阵除法符号“/”,即:
根据一定的控制点求出转换矩阵后,即可用矩阵相乘形式将所有待转换点的新坐标求出来,计算过程简单,可以直接由语言实现。
同样,MATLAB可以方便地实现测量数据、遥感影像的频域分析,傅立叶变换函数为我们分析测量据提供了有效的方法。
其自带的小波分析工具箱,提供了大量的小波分析工具,用于一维信号分析和二维影像处理,可实现影像的特征提取、数据压缩以及图像的融合等。
实践证明,MATLAB处理测绘数据具有更大的优越性将其引入测绘领域是一件非常有意义的事情。
二、面向MATLAB转换GPS高程的神经网络方法
1.GPS高程拟合方法
GPS测量得到的地面点高程是在WGS-84椭球上的大地高,而我国采用的高程系统为正常高系统,因此在实际测量工作中,更多需要的是正常高。
这就需要找出GPS点的大地高与正常高的关系,并用一定的方法转换GPS高程。
二者之间的关系如下式所示:
目前,用于CPS高程拟合的方法较多,如:
样条函数法、多项式曲面拟合法、非参数回归曲面拟合法和移动曲面法等,这里不再详述。
2.MATLAB中的BP神经网络及其算法简介
近年来,出现了用于转换GPS高程的人工神经网络方法,它是一种自适应的映射方法,在转换GPS高程时不需作假设,能减少模型误差,具有较高的精度,国内外许多学者已对其进行较多的研究和运用。
BP神经网络(BackPropationNetwork)是基于误差反向传播算法的多层前馈网络。
如图1所示。
图1BP神经网络原理图
显然,BP网络的输入与输出关系是一个高度的非线性映射关系,即:
对于样本集合:
输入和,可以认为存在某一个映射,使
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
点号
02244811336106101516
-0.00390.0055-0.01200.0023-0.0017-0.0096-0.0049-0.0058-0.0073-0.0087
17202630323950525456
-0.0065-0.0054-0.0011-0.00520.0020-0.00850.0043-0.0047-0.0126-0.0102
64656628803105346269
-0.00680.0064-0.00450.01060.0017-0.00460.0134-0.0008-0.0103-0.0092
备注:
:
高程异常偏差;
:
已知高程异常;
拟合结果。