李建慧
摘要:本文在分析應用地球物理學專業和MATLAB程序設計各自特點的基礎上,以應用地球物理學專業的特點和需求作為切入點,探討了應用地球物理學專業中加強MATLAB程序設計教學的思路。
關鍵詞:應用地球物理學;MATLAB;教學改革
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)44-0227-02
近年來,許多專家學者從不同角度關注于應用地球物理學專業的本科教學改革。比如,金勝等學者探討了如何提高本科生畢業論文質量的方法[1],張新兵等學者通過比較中美兩國本科生課程設置而提出了我國應用地球物理學專業課程改革的方向[2],閻建國等學者探索了以地球物理學為例基礎教育改革的思路[3],呂玉增等學者提出了培養工程技術人才的改革方案[4],熊章強等學者研究了如何提高野外實踐教學效果的對策[5],嚴哲以地震勘探的專業實習為例探討了地球物理專業教學實習的作用、安排和效果[6]。
MATLAB、MAPLE和MATHEMATICA為當今三大主流數學軟件。相比MAPLE和MATHEMATICA,MATLAB在國內高校理工科專業的應用更為普遍。本文我們將探討應用地球物理學專業本科教學中加強MATLAB程序設計的一些思路。之前,汪勇討論了MATLAB程序設計在地震勘探教學中的應用[7],而童孝忠分析了MATLAB在應用地球物理學中的應用[8]。
一、應用地球物理學的學科特點
應用地球物理學隸屬于地質資源與地質工程一級學科中的地球探測與信息技術二級學科。根據研究物理場的不同,可劃分為電法勘探、磁法勘探、重力勘探、地震勘探、放射性勘探和地球物理測井。除了一級學科的特點外,該學科自身還具有以下特點。
1.數理基礎要求極高。地球物理場一般是關于空間位置變化的三維函數,比如重力場、靜磁場、靜電場等;而有些情況下,我們還需考慮地球物理場與時間變化的關系,比如時間域電磁場、地震波場等。為了能夠真實的描述這些地球物理場,我們需要大量而復雜的數學和物理知識。因此,除了學習高等數學、大學物理、概率論與數理統計、數值分析等基礎課程外,該專業本科生還要學習矢量分析與場論、復變函數、積分變換、數學物理方程與特殊函數、數字信號處理、彈性波動力學、勘探電磁場論等專業基礎課程。
2.專業術語抽象、不易理解。應用地球物理學專業中,有些概念非常抽象,比如“場”。我們知道,場是反映隨時空變化的某種物理量,并以場在時空中每點值的類型,將其分為標量場、矢量場和張量場。這些抽象概念的理解往往需要借助于一定的工具,比如曲線圖、等值線圖、矢量圖、三維立體圖、動畫演示等。
3.與計算機科學結合緊密。地球物理專業與計算機科學結合非常緊密,比如利用高級語言編制程序用于研究地球物理場或者資料處理,利用計算機繪圖軟件繪制矢量圖、三維圖等專業圖件。計算機科學的快速發展給應用地球物理學帶來了巨大影響,比如計算機硬件的發展大大加速了資料處理速度,智能優化算法的快速發展使得反演結果更加可靠,反演速度更加快速。
二、MATLAB程序設計
MATLAB是美國MathWorks公司出品的商業數學軟件,用于算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境。與其他開發語言相比,MATLAB主要具有以下優勢。
1.界面友好、編程語言自然。MATLAB采用了一系列圖形用戶界面,包括MATLAB桌面和命令窗口、歷史命令窗口、路徑搜索、文件瀏覽界面等。最新版本的MATLAB軟件中,用戶界面更加精致、人機交互性更強,操作也更加簡單。MATLAB的編程語言自然,比如復數“1+2i”可直接寫為“1+2i”,而不必分別表示存儲實部和虛部,并且其運算和函數都是針對矩陣設計的,比如矩陣A和B的乘積,可直接寫為“A×B”,而不必像其他語言中借助于循環語句實現這一功能。
2.數值計算能力強大。MATLAB包含有600多個常用的數學函數,這些函數包括線性方程組的求解、微分方程及偏微分方程組的求解、數值積分、插值、傅立葉變換等。比如,數值積分包含了“quad”、“quadl”、“quadv”、“quadgk”、“integral”等多個函數,用戶可根據求解問題要求的精度和效率確定使用的積分函數。除此之外,MATLAB還包含偏微分方程、小波變換、神經網路、統計分析、樣條擬合等工具箱。利用這些庫函數,不僅保證了計算結果的精度,還大幅提高了用戶的編程效率。
3.可視化處理能力完備。MATLAB擁有完備的圖件繪制函數,涵蓋了從簡單的曲線圖、等值線圖,到復雜的矢量圖、三維圖件,再到動畫制作,等等一系列函數。另外,MATLAB還自帶了GUI設計工具箱,使得用戶可以設計出一些簡單的可視化界面。
其他一些軟件或程序設計語言也具有上述個別特點,比如FORTRAN語言通俗易懂、運行速度快、商業函數庫豐富,又如MATHEMATICA具有突出的符號運算能力,再如GRAPHER、SURFER等繪圖軟件具有強大的繪圖功能。但是,MATLAB具有以上軟件的所有特點和優勢,因此該軟件在國內高校理工科專業中應用極為廣泛。
三、應用地球物理學專業與MATLAB程序設計的結合點
根據應用地球物理學專業和MATLAB程序設計的特點,我們認為在本科階段MATLAB程序設計可應用于應用地球物理學專業以下三個方面的教學實踐中。
1.經典理論和公式的圖形化。地球物理專業中有許多經典理論和公式,比如電法勘探中點源電流場中水平層狀介質、球體、垂直接觸面的電場,水平電偶源和垂直磁偶源在層狀介質表面激發的頻率域和時間域電場、磁場,等等,經典教科書中也只給出了部分公式的曲線圖。利用MATLAB自帶的庫函數、偏微分方程工具箱等,學生們完全可以制作這些經典理論和公式的等值線圖、場矢量圖、電磁場的動態演示等。這對于理解地球物理中“場”的概念大有裨益,也能更好地理解地球物理勘探方法的設計原理。
2.簡易資料處理程序的開發。地球物理勘探中,野外采集數據之后,往往需要資料預處理、反演和解釋。目前,雖然關于地球物理資料處理解釋的軟件已有很多,但是其背后的方法原理都是相通的。比如,地球物理通常需要濾波去除噪音,又如一些地球物理方法要求將數據從時間域(空間域)轉換至頻率域(波數域),等等。針對濾波去噪,MATLAB有低通濾波、高通濾波、中值濾波、小波去噪等工具箱和函數;針對時頻轉換,MATLAB有一維和二維快速傅里葉變換函數。除此之外,地球物理專業中資料處理解釋的大部分方法仍需學生編程實現,但是可以使用MATLAB自帶的庫函數,比如插值函數、數值積分等。這些工具箱和庫函數的使用,使得學生的學習事半功倍。
3.正演和反演程序的編寫入門。在地球物理勘探中,正演和反演是最核心的兩個問題。電法勘探中,二維、2.5維和三維正演均需求解一個大型線性方程組,而MATLAB自帶了方程組迭代法求解的許多函數,比如共軛梯度法、雙共軛梯度法等。關于反演算法,MATLAB自帶了神經網絡工具箱、最小二乘法函數等可用于反演研究。另外,有限元法分析的專業軟件COMSOL MULTIPHYSICS也采用了MATLAB程序設計語法,因此極大地方便了高校科研用戶。但是,更多的算法仍需學生編寫相應程序,比如有限元法正演算法、交錯網格有限差分法正演算法、擬牛頓法反演算法、高斯—牛頓反演算法、粒子群優化算法反演算法等。
四、結語
本文首先分析了應用地球物理學專業和MATLAB程序設計的各自特點,給出了應用地球物理學專業與MATLAB程序設計的三個結合點?;谏鲜龇治?,我們有理由相信MATLAB程序設計語言必將在應用地球物理學專業教學和科研中發揮更大的作用。
參考文獻:
[1]金勝,葉高峰,景建恩.提高地球物理專業本科生畢業設計(論文)質量的思索與探討[J].中國地質教育,2010,(3):88-91.
[2]張新兵,于鵬,吳健生.中美地球物理專業本科生課程設置比較與啟示[J].中國地質教育,2010,(3):103-106.
[3]閻建國,李才明.地球物理學基礎教育改革初探[J].中國地質教育,2010,(4):32-34.
[4]呂玉增,韋柳椰,李長偉.地球物理勘查工程技術人才培養改革與實踐[J].中國地質教育,2012,(1):115-118.
[5]熊章強,朱德兵,嚴家斌,張大洲.提高地球物理學科野外實踐教學效果的探索與實踐[J].中國地質教育,2012,(4):132-134.
[6]嚴哲.地球物理專業實習教學方法初探——以地震勘探為例[J].教育教學論壇,2013,(17):84-85.
[7]汪勇.淺談Matlab在地震勘探教學中的應用[J].中國地質教育,2012,(4):108-110.
[8]童孝忠.MATLAB程序設計及在地球物理中的應用[M].長沙:中南大學出版社有限責任公司,2013.