李燕軍,朱建華,王萬歷,龔真春
(61243部隊,甘肅 蘭州730020)
?
MATLAB在測繪數據處理中的優越性及應用
李燕軍,朱建華,王萬歷,龔真春
(61243部隊,甘肅蘭州730020)
摘要:簡要介紹了MATLAB的特點、優勢及不足。結合MATLAB強大的數學計算和數據分析功能,針對測繪數據的特點,闡述了如何利用MATLAB進行測繪數據的處理和分析,給出了MATLAB神經網絡工具箱在GPS高程轉換時的具體運用算例。實踐表明,MATLAB易學易用,使用其可大大簡化編程工作,特別適合非專業編程人員完成測繪數據計算、處理和分析等任務。
關鍵詞:MATLAB;測繪數據;GPS高程;神經網絡
MATLAB(MATrix LABoratory)是20世紀70年代由美國新墨西哥大學計算機科學系主任Cleve Moler教授開發,由MathWorks公司加以發展和推向市場的一種科學計算語言。它是目前國際上最流行、應用最廣泛的科學與工程計算軟件,具有語言簡潔緊湊、使用方便、編程效率高、圖形功能強、工具箱全面等特點,深受廣大科技工作者的喜愛[1]。在國際學術界,MATLAB已經被認為是進行高效、可靠的科學計算標準軟件,在許多國際一流學術刊物上(尤其是信息科學刊物),都可以看到MATLAB的應用[2]。本文主要介紹MATLAB軟件的特點、優勢和不足,結合MATLAB強大的數學計算和數據分析功能,并以其神經網絡工具箱在GPS高程轉換時的具體運用為例,分析和探討MATLAB應用于測繪領域的優勢和思路。
1.1測繪數據處理的特點
測繪科學是一門以大規模數據甚至是海量數據處理、分析與應用為基礎的學科,其各項具體工作如測量平差、GPS高程與水準高程換算、遙感圖像處理、坐標轉換和GNSS軌道計算、信號模擬等,都涉及大量的計算。而在對測量數據或圖像處理過程中,編制測量程序時常常要面對大量的矩陣運算和海量的數據。這時需要用C、FORTRAN或C++和VB等語言來編寫相應的程序來處理這些問題,要消耗大量的時間和精力,還有可能出錯。
1.2MATLAB應用于測繪領域的優越性
MATLAB作為一種優秀的程序設計工具,在大規模數據處理,特別是矩陣運算方面具有其他程序設計語言難以比擬的優越性,而且MATLAB還提供了與FORTRAN、C/C++、VB等語言的接口與混合調用,不但可以方便的將以前用其他語言編寫的程序移植到MATLAB平臺下,還可以在其他平臺下調用MATLAB程序,因此在科研和教學以及生產實踐中得到廣泛的應用[3]。在使用MATLAB進行測繪數據處理時,可能只需要一條語句或函數就能解決上述(如大量的矩陣運算)等問題,大大減輕工作量,提高程序的編寫效率和準確性。例如坐標換算是測繪工作中必不可少的部分,在地理信息系統、遙感圖像配準、GPS后處理等工作中都要用到坐標轉換。坐標轉換實質是求解轉換系數的過程,即可簡化為:

如用其它計算機語言實現,則需用相當復雜的算法和代碼,而在MATLAB中只需采用矩陣除法符號“/”完成,即:

根據一定數量的控制點求出轉換矩陣T后,便可用矩陣相乘形式將所有待轉換點的新坐標求出來,計算過程非常簡單,而且不易出錯。
同樣,MATLAB可以方便地實現測量數據、遙感影像的頻域分析,其傅立葉變換函數為我們分析測量據提供了有效的方法,自帶的小波分析工具箱,提供了大量的小波分析工具,可實現影像的特征提取、數據壓縮以及圖像的融合等[4]。
1.3MATLAB不足性分析
實踐證明,MATLAB處理測繪數據具有更大的優越性,將其引入測繪領域是一件非常有意義的事情。但MATLAB編制的程序也有其本身的缺點,主要有以下幾點:
1)運行速度慢。由于用MATLAB語言編寫的M程序是一種解釋性語言,只能在MATLAB環境下運行,當進行海量數據處理時,所需要的時間較長。
2)源程序可讀。M文件是ASCII碼文件,不但可見,而且可以修改。對于一些需要保密的算法來說,其安全性差應當值得注意。
3)可移植性差。當進行M程序發布和移植時,要求被發布的計算機上也要安裝MATLAB,其通用性受到很大的限制。
為了解決上述問題,目前也有一些文獻做了這方面的探討,如一般是先將MATLAB函數編譯成脫離MATLAB環境的可執行文件(以下簡稱可執行文件),然后將可執行文件與其運行時所需的動態鏈接庫一起打包、發布,從而開發出相應的測量軟件。由于MATLAB的編譯是MATLAB應用的熱點之一,但是全面探討如何將待編譯的M程序進行優化以及將編譯后的可執行文件發布等問題的文獻還不多,因此需要進一步的分析和研究[5]。
2.1GPS高程擬合方法
GPS測量得到的地面點高程是在WGS-84橢球上的大地高HGps,而我國采用的高程系統為正常高系統,因此在實際測量工作中,更多需要的是正常高Hr。這就需要找出GPS點的大地高與正常高的關系,并用一定的方法轉換GPS高程。二者之間的關系如下式所示[6]:

用于CPS高程擬合的方法較多,如:樣條函數法、多項式曲面擬合法、非參數回歸曲面擬合法和移動曲面法等,這里不再詳述。
2.2MATLAB中的BP神經網絡及其算法簡介
近年來,出現了用于轉換GPS高程的人工神經網絡方法,它是一種自適應的映射方法,在轉換GPS高程時不需作假設,能減少模型誤差,具有較高的精度,國內外許多學者已對其進行較多的研究和運用。BP神經網絡(Back Propagation Network)是基于誤差反向傳播算法的多層前饋網絡[7,8]。如圖1所示。

圖1 BP神經網絡原理圖
顯然,BP網絡的輸入與輸出關系是一個高度的非線性映射關系,即:

對于樣本集合:輸入xi∈Rn和Oj∈Rm,可以認為存在某一個映射g,使

BP神經網絡實質上是一種函數逼近器,理論上它可以無限度的逼近任何線性或非線性的函數,其工作方式分為兩個階段:一個階段為學習階段,另一個階段為BP網絡計算階段。盡管神經網絡方法優勢明顯,但由于神經網絡系統理論較為復雜,因而編程實現起來比較困難。但MATLAB為編程人員提供了一個很好的工具,其神經網絡工具箱幾乎涵蓋了所有的神經網絡常用模型,集成了多種學習算法,為BP神經網絡的應用研究提供了強有力的工具,我們可以根據自己的需要去調用工具箱中的設計和訓練程序,將自己從繁瑣的編程中解脫出來,集中精力解決其它問題。
2.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最大值)
Load surveyingnet net;%加載保存的已訓練好的網絡
bn=sim(net,pnewn); %模擬工作數據
b=postmnmx (bn,t最小值,t最大值);%復原工作數據
deta2=(t2-b); %求工作誤差
…
本實例所采用的數據為某三級GPS大地控制網中的GPS點位觀測數據,且所有的GPS點位都進行了三等以上水準聯測。選取其中4,10,15個均勻分布于測區的點作為已知點構成學習集,其它36,30,25個點作為工作集,用于檢驗轉換GPS高程的擬合效果。根據以上程序,本文結合工程數據反復的試驗與分析,確定了一個10×1結構的神經網絡,該網絡運行結果穩定,無不收斂情況發生。GPS高程擬合結果見表1。表中,△ζ為高程異常偏差;ζ0為已知高程異常;ζ為擬合結果。
綜上所述,MATLAB功能強大,并且開發工具方便快捷,編程的特點更貼近人們的思維方式。MATLAB在對測量數據進行的處理和分析時,是較好的數學工具軟件。將MATLAB與測繪領域實際問題相結合,可方便地開發出測量數據處理的應用程序,大大提高工作效率。因此MATLAB在測量數據處理和程序開發中具有極大的應用前景,必將越來越多應用于測繪領域。

表1 10×1結構的神經網絡GPS高程擬合結果?。▎挝唬簃)
參考文獻:
[1]薛定宇,陳陽泉.高等應用數學問題的MATLAB求解[M].北京:清華大學出版社,2008,3-8.
[2]李建章,陳海鷹,紀鳳仙,等.測量數據處理程序設計[M].北京:國防工業出版社,2012,1-5.
[3]崔利,武文波.測繪領域中MATLAB的應用[J].遼寧工程技術大學學報,2005(24):47-48.
[4]譚衍濤,張興福.MATLAB擬合工具箱在GNSS高程轉換中的應用[J].工程勘察,2014(9):65-66.
[5]任超,歐吉坤,陽仁貴.在測量軟件開發中MATLAB的應用[J].測繪通報,2004(1):11-16.
[6]李征航,黃勁松.GPS測量與數據處理[M].武漢:武漢大學出版社,2005,270-277.
[7]蔡昌盛,高井祥.面向MATLAB轉換GPS高程的神經網絡方法[J].四川測繪,2007,30(2):68-69.
[8]王苗苗,柯福陽.多項式曲面擬合和BP神經網絡GPS高程擬合方法的比較研究[J].測繪工程,2013,22(6):22-25.
中圖分類號:F592.7