(1.廣州海洋地質調查局,廣州,510760;2.廣東省材料實驗測試中心,廣州,510080)
第壹作者簡介:梁北文,女,1973出生,廣東人,計算機應用工程師,1996畢業於成都理工大學計算機科學與應用專業,現從事計算機程序開發工作。
介紹了計算機處理沈積物粒度分析數據的程序設計過程和原理,該程序在生產和科研中的應用解決了以往手工繪圖和計算器處理數據誤差大、易出錯的問題,大大提高了粒度分析數據處理的效率和處理結果的準確性。
關鍵詞沈積物粒度分析程序設計
1前言
沈積物的粒度分析是地質實驗中非常重要的測試項目,為沈積巖石學研究和沈積環境判別提供了重要的相關參數(孫永川等,1986)。多年來,這個試驗項目的大量數據都是依靠手工計算和手工繪圖。整個數據處理過程耗時較長,人為因素對數據結果控制較大,且計算容易出錯,結果誤差也較大,工作效率很低。在這種情況下,為了改善這種情況,非常有必要開發壹種先進的計算機程序對這壹測試項目進行數據處理,通過自動化的數據處理,可以提高工作效率和結果的準確性。
以計算機程序處理泥沙粒度分析數據為基礎,詳細介紹了程序設計過程和原理,以及重要的計算過程和原理。
2操作平臺和編程語言的選擇
目前使用的微機多為Pⅲ以上,操作系統為windows me/XP。為了擴大應用範圍,選擇windows me作為本程序的編程平臺,使本程序可以在windows98和windows XP操作系統上同時運行。編程語言有很多種,要根據具體情況選擇。Visual Basic是壹個集成了應用程序開發、測試和錯誤檢查的集成開發環境。在Active X的支持下,Visual Basic開辟了壹個新的編程領域。Visual Basic以其面向對象的編程方式、靈活的控件應用、良好的編程界面、便捷的數據庫編程(李天奇,1999)深受歡迎,因此選擇Visual Basic6.0作為本程序的編程語言。
3計算模式的選擇
綜合整理沈積物粒度分析結果的方法有兩種:矩法和作圖法(成都地質學院陜北隊,1976)。作圖法是壹種尋找粒度頻率分布的好方法。常用的粒度圖有直方圖、頻數曲線和累積曲線。概率累積曲線的最大特點是可以用直線清晰地反映和區分對數正態總體,分析結果直觀。從概率累積曲線上可以直接看到沈積巖的沈積相變,反映沈積能量最敏感條件的部分——厚尾和薄尾被大大展開(孫永川等,1986),非常有利於環境分析,而且繪制簡單。壹個樣本可以做出概率累積曲線。現行國家標準和許多沈積學家采用概率累積曲線計算分析結果。為此,開發了基於概率累積曲線的計算機程序,繼承了粒度分析測試項目的傳統和特點,拓展了測試項目的程序設計領域。
4程序組成
沈積物粒度分析數據處理程序框圖如圖1所示。整個程序分為以上幾個模塊,在程序設計上既相互獨立又相互聯系。
5功能模塊設計
5.1分析數據輸入模塊
分析數據輸入利用文本框控件的功能,將關鍵文本框控件設計成容錯的,利用幫助模塊引導用戶輸入數據,盡量方便操作,減少錯誤,如圖2所示。輸入的數據文件保存在某個目錄下,方便用戶調用和修改。
5.2計算各分數累積百分比的模塊
根據輸入的分析數據,計算泥沙各粒徑的累積百分比。由於分析儀器對粒度的篩選存在壹定的誤差,因此該模塊具有壹定的容錯性,允許最終的樣本累積百分比大於或小於100%。
5.3繪制正態分布圖
粒度分析中使用的圖形是正態分布的概率圖,該圖形的設計是本程序的重點和難點之壹。正態分布是壹個定積分。(秦等,1990):
南海地質研究。2003
其中:σ-標準差;α-平均值。
當σ = 1,α = 0時,為標準正態分布。編程時要計算概率為0.01 ~ 99.99的標準正態分布的分位數。因此,使用以下正態分布的分位數計算函數:
南海地質研究。2003
圖1程序流程圖
圖1程序流程圖
圖2分析數據輸入窗口
圖2數據分析輸入界面
B0 = 0.1570796288×10 B6 =-0.1045274970×10-5
b 1 = 0.3706987906×10-1 B7 = 0.8360937017×10-7
B2 =-0.8364353589×10-3 b8 =-0.3231081277×10-8
B3 =-0.2250947176×10-3 B9 = 0.3657763036×10-10
B4 = 0.6841218299×10-5 b 10 = 0.6936233982×10-12
b5 = 0.5824238515×10-5
通過使用上述函數和使用循環設計,概率從0.01增加到99.99,並且計算每個概率水平的分位數(0.01):
南海地質研究。2003
(將K值保存到數據庫中以備後用)
下壹問
計算Kβ的值,將Kβ轉換成相應計算機屏幕上的具體坐標值,將這些壹壹對應的數據做成正態分布概率數據表,供程序繪制。當數據準備就緒後,使用picturebox控件將控件的Auto Redraw屬性設置為True,然後使用Visual Basic的直線、圓等繪圖功能繪制正態分布概率圖,並使用Scale Height、Scale width屬性方便圖形設計。
5.4圖形顯示模塊
利用上壹個模塊得到的數據,在正態分布的概率圖上畫出樣本各顆粒級分累積百分比對應的點,並顯示連線的點數,供用戶選擇。連接線的設計是本程序的重點和難點之壹,關系到各個粒度參數的計算結果。該模塊設計了三種連接方式。①自動連接模式:如果選擇該模式,程序會按照壹定的誤差參數值在屏幕上隨機生成m條直線,用戶可以通過這種方式進行圖形的初步繪制。②拋點自動連接模式:用戶可以選擇該模式拋掉1 ~ 2個偏差較大的點,然後程序會自動繪制圖形。③手動繪圖模式:用戶可以根據點的走向輸入點數,確定N個點和M條線,生成圖形。參見圖3。該模塊使用Visual Basic的圖片框控件和畫線、點和比例尺等繪圖功能。
5.5計算各種參數
根據繪制的圖形,得出每條直線的方程,根據所需的特定百分比值對應的Y值,代入相應的直線方程,計算出X值,即φ值,然後根據下式計算出各粒度參數的Mx值、σi值、Ski值和Kg值。
線性方程公式:
南海地質研究。2003
其中:(x1,y1),(x2,y2)是直線經過的兩點。
粒度參數的計算公式:
圖3樣本號1305的正態分布概率曲線
圖3第1305號樣本的正態概率曲線
其中φ n表示對應於累積曲線上n%的φ值。
5.6打印圖表和報告
使用Visual Basic的Printer對象將處理結果報告發送給打印機(李天奇,1999),其用法為:
【反對。]Print[{ Spc(n)| Tab(n)}][expression list][{;我,}]
該報告是包含各種數據和正態分布概率曲線的表格。
5.7輸出圖表和數據
得到的數據和圖形與WINDOWS應用軟件(如WORD、EXCEL)動態連接,便於地質解釋時數據進壹步與應用軟件(如GRAPHER、SURFER)連接。
6摘要
通過使用該程序,減少了粒度分析數據的處理時間,簡化了整個處理過程,提高了勞動效率,提高了樣品分析結果的質量。此外,粒度分析數據的結果可以以電子形式保存,便於數據保存和隨時查詢,為以後大量數據的使用提供了更大的便利。
參考
1976.粒度分析在區分沈積環境中的應用。北京:地質出版社。
李天祁編。1999.Visual Bisic 6.0的學習捷徑。北京:清華大學出版社。
秦,,人。1990.計算機在分析測試數據統計處理中的應用。北京:化學工業出版社。
孫永川和李慧生。1986.碎屑巖的沈積相和環境。北京:地質出版社。
沈積物粒度分析程序設計
梁北文王金蓮朱美瓊
(廣州海洋地質調查局,廣州,510760)
文摘:介紹了沈積物粒度分析的計算機編程過程和原理。利用該程序可以解決實際工作中的許多問題,如繪圖和計算誤差大、不可靠等。該程序將提高效率和結果的精度。
關鍵詞:沈積物粒度分析程序設計