徐 旭 劉亞靜 董洪新
(1.河北聯合大學礦業工程學院,河北 唐山 063009; 2.山東科技大學測繪科學與工程學院,山東 青島 266590)
隨著我國經濟的快速發展,基礎設施建設也進入一個高峰期,基坑開挖作為建筑工程的一部分是施工人員必須經常面對的一大課題。基坑開挖必然要引起變形,基坑變形的監測、預測成為基坑工程施工設計重點解決的問題之一。根據目前文獻資料,國內基坑變形監測分析系統方面的研究大部分還處在監測數據管理系統的階段,在基坑變形監測的可視化表達和管理方面研究還比較欠缺[1]。論文著重基于VB和Matlab建立一個基坑變形監測的系統。
系統以現有的沉降項目為工程背景,在WINDOWS XP系統環境下,采用比較簡單的面向對象的程序語言Visual Basic及Excel和MATLAB為輔助工具來開發的。在系統的編譯過程中,利用現有比較成熟的函數模型建模。系統可以以全自動數據處理的方式對基坑變形數據調入、粗差探測及剔除、平差處理、繪制沉降圖、成果輸出等功能。該系統減少人工干預可能產生的錯誤,在實際工作中可以提高測量的精度和準確性,減少工作量,使現場工作人員能更便捷的了解和掌握基坑的沉降狀況[2]。
一個良好的數據處理及管理程序設計必須對用戶的需求進行調查分析,使開發出來的數據處理程序盡可能的滿足用戶的需求。本程序設計包括:數據導入與存儲、粗差剔除、平差處理、數據解算、曲線繪制、成果輸出、進行預測。
系統完成后應具備數據調入、粗差探測及剔除、平差處理、繪制沉降圖、成果輸出等功能。該系統實現全自動數據處理,減少了人工干預可能產生的錯誤。在實際工作中提高測量的精度和準確性,減少了勞動量,能更便捷的了解和掌握基坑的沉降狀況。
系統設計是以計算機技術為基礎、軟件工程原理為基本依據來進行設計的,另外,系統還要依據沉降觀測所采集到的實際數據,設計出沉降觀測數據處理系統的總體的技術路線,如圖1所示。

圖1 系統總體框架圖
1)系統功能設計。本程序設計的主要研究內容是設計并開發基于VB與MATLAB基坑沉降數據處理程序,是以VB為開發的操作平臺,以MATLAB和Excel為輔助工具進行開發的。其主要分為以下六部分:
a.數據的錄入。在 VB中采用MSFlexGrid控件接收數據,MSFlexGrid用來接收直接導入的Excel數據或是手工直接輸入的數據,Excel中按一定格式存儲的數據,數據為各觀測點的高差,必須由已知開始按觀測路線的順時針方向進行輸入。界面上方的文本框用來輸入已知點和觀測點之間的距離,必須由已知開始按觀測路線的順時針方向進行輸入,并將之依次添加進ComboBox中去[3]。b.粗差剔除。粗差對基坑沉降數據的處理和分析的結果帶來很大的影響,常常做出錯誤的判斷,本程序設計首先采用沉降觀測的閉合差進行粗大誤差的判斷,然后再采用拉達準則(n>10)進行判斷,對于不滿足拉達準則的數據給予剔除[4,5]。c.數據平差。雖然VB的界面美觀,操作方便、簡單,但VB對矩陣的運算非常的不方便,一般要編寫函數代碼,其過程繁瑣、困難且容易出錯。而MATLAB對矩陣的各種計算、圖像的繪制十分簡單快捷。因此,在VB的操作平臺下調用MATLAB進行沉降數據的平差計算是非常方便、實用的。MATLAB從VB提取矩陣數據:利用PutFull Matrix方法將要提取的數組bb(),q(),g1()傳送至MATLAB中的三個矩陣變量中。然后通過 Execute(Command as String)方法調用MATLAB執行一條 Command字符串決定的MATLAB命令計算Naa、常數項K和改正數V。MATLAB將計算結果還原到VB數組中:利用GetFull Matrix方法將上面計算所得數據Naa、改正數V傳送到VB程序的數組s1(),s3()中,計算未知點的改正高程[6,7]。d.沉降量解算。對基坑的沉降進行分析和預測時,要從沉降的兩方面入手,即:本次沉降和累計沉降。本次沉降是按觀測時間順序后一次觀測減前一次觀測。累計沉降量是所有觀測本次沉降量的代數和。e.沉降量圖形繪制。對觀測點的各期的沉降量以曲線的形式繪制出來,可以使工作人員更清晰的看出基坑沉降的走勢,從而做出更加準確的分析。本程序設計沉降曲線圖包括:總累計沉降圖、總本次沉降圖、單點累計沉降圖、單點本次沉降圖。總累計沉降圖:把所有點的累計沉降量的曲線圖繪制到同一個圖幅中。總本次沉降圖:把所有點的本次沉降量的曲線圖繪制到同一個圖幅中。單點累計沉降圖:只把一個點的累計沉降量的曲線圖繪制到一個圖幅中。單點本次沉降圖:只把一個點的本次沉降量的曲線圖繪制到一個圖幅中。f.成果輸出。把數據處理的最終結果、處理過程中的數據顯示窗體上并保存到指定文件內,進而能輸出數據處理報告,數據既可以輸出到Excel電子表格內,也可以輸出到txt文檔中。數據處理報告包括導入的數據、剔除粗差后的數據、平差后的數據以及沉降量結算后的數據等,數據處理報告以txt文檔的形式輸出。沉降量圖形分析可以從圖形對話框中進行保存和輸出。
2)數據文件的設計。數據文件是基坑變形監測系統的核心部分,根據系統的需要和實際操作的要求,本系統創建的沉降觀測記錄表分為觀測時間、點名和觀測值三部分。其結構見表1。

表1 沉降觀測記錄表
系統運用ActiveX部件建立VB與Excel的鏈接,MATLAB利用PutFull Matrix方法從VB提取矩陣數據,運算后再利用GetFull Matrix方法將計算所得數據傳送到VB程序,最后利用MATLAB中 plot函數繪制成圖[8,9]。
Set matlabobject=CreateObject("matlab.application")′創建MATLAB引用路徑
strmat="h=actxserver(′matlab.aplication′);Set(h,visible,0)"
matlabobject.Execute(strmat)′利用MATLAB繪制總本次沉降圖
strmat="x=["& x& "];y=[" & y& "];" & "plot(x,y,′linewidth′,2);set(gca,′XTickLabel′,{" & a & "});legend(" &m & ");grid on;xlabel(′觀測日期′);ylabel(′總累計沉降量(mm)′);title(′總累計沉降圖′)"
現以遷安某基坑的沉降觀測的數據處理為例,說明該程序的使用過程,并對該程序進行鑒定。
打開程序,點擊“歡迎進入系統”,進入數據錄入界面,在“數據錄入”界面內點擊“文件→打開”,選擇一固定格式輸入的Excel數據進行數據的導入,也可以手工直接輸入,但已知高程和點間的距離必須手工輸入,其所輸數據均從已知點開始順時針方向依次輸入。數據錄入完后,點擊菜單上的“粗差剔除”,對數據進行粗差剔除,進入“數據平差”界面,在數據平差中點擊“數據平差”,對數據進行平差,并解算出各期觀測中各觀測點的高程,進入“數據結算”界面,在進入“數據結算”界面后,點擊“數據分析—沉降解算”計算沉降量,進入“繪圖分析”界面。
在“繪圖分析”界面內點擊“數據分析總累計沉降圖”“數據分析總本次沉降圖”,繪制“總累計沉降圖”和“總本次沉降圖”,如圖2,圖3所示。

圖2 總累計沉降圖

圖3 總本次沉降圖
選擇“觀測點號”可以得到單點的點的沉降觀測數據,點擊“數據分析—單點累計沉降圖”“數據分析—單點本次沉降圖”。另外,在圖上點擊“Edit-Copy Figure”,可以將圖片進行復制并保存在Word文本中。點擊“成果輸出—成果顯示”,把對數據處理的成果顯示在界面上。點擊“成果輸出—輸出報告”將成果保存在txt文檔。
從圖上可以看出基坑沒出現較大的變形,符合規范的要求屬于正常的沉降。系統完成后具備數據調入、粗差探測及剔除、平差處理、繪制沉降圖、成果輸出等功能。使用者可以從圖上更直觀的觀察到基坑每次的變化量,可以清晰地得到變形規律,為優化基坑施工方案指導類似工程提供有效的技術支持。
系統以VB為開發平臺,用MATLAB模塊輔助計算功能,實現了具有數據粗差剔除、平差、沉降量解算與出圖一體化的變形監測系統。系統在粗差探測和沉降繪圖分析方面做了主要的研究,不但保證了數據的正確性,而且還使沉降量的預測變得更為有效。對提高測量的精度、可靠性,以及變形監測安全方面都有十分重要的意義。
[1] 黃聲享.變形監測數據處理[M].武漢:武漢大學出版社,2003.
[2] 徐惠蓮,張紹春.高層建筑沉降監測與觀測數據綜合分析[J].西安工程學院學報,1999,21(2):64-66.
[3] 蔣加伏,張林峰.Visual Basic程序設計教程[M].北京:北京郵電大學出版社,2009.
[4] 楊建潮.測量誤差中粗大誤差的判斷與處理[J].計量與測試技術,2004(69):33.
[5] 楊茂興.小樣本容量測量數據中粗差的剔除[J].計量與測試技術,2005,32(1):27-28.
[6] 譚 炎,張凌燕.MATLAB與VB混合編程技術研究[J].軟件時空,2006,22(5):247-249.
[7] 趙毅君,李 立,邱 泓.基于VB和MATLAB混合編程的可視化數據采集與處理軟件的研究[J].湖南工程學院學報,2008,18(1):1-4.
[8] 王素立,高 潔,孫新德.MATLAB混合編程與工程應用[M].北京:清華出版社,2008.
[9] 盧 振,曹 屹,范 永.基于VB與MATLAB混合編程數據庫圖形顯示方法[J].制導與引信,2009,30(3):36-40.