999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C#與Matlab混合編程在HDPE膜數據成像中的應用

2015-05-30 15:30:36成秋蕾高慧
企業技術開發·中旬刊 2015年12期

成秋蕾 高慧

摘 ?要:填埋場滲漏檢測系統是以Visual studio 2010為開發平臺,C#為編程語言,Matlabr2009a為主要做圖工具的軟件。針對其數據成像功能,文章提出了一種以C#與Matlab混合編程的數據成像方法,它通過相關算法去除干擾數據達到成像效果,并將生成的Matlab圖像嵌入到VC界面,使HDPE膜的成像效果更加明顯并提升了系統的運行速度。

關鍵詞:COM組件;異常干擾數據;數據成像

中圖分類號:TP277 ? ? 文獻標識碼:A ? ? ?文章編號:1006-8937(2015)35-0077-02

垂直鋪設防滲膜是環境工程領域常用的防滲處理手段,在鋪塑過程中,由不同原因造成的防滲膜搭接不好、劃破及漏點等問題會大大降低防滲膜的防滲效果,導致檢測過程中存在一定的局限性。目前國內對于防滲膜的滲漏檢測一般采用雙電極法、電極柵格等,但其檢測漏洞的效果不明顯,不宜發現錯誤和異常且運行速度緩慢等。

C#語言繼承了C/C++的優點,利用C#.NET開發的系統具有界面友好、執行速度快等優點,生成的可執行文件能有效保護算法和數據。Matlab是常用的科學及工程計算軟件,具有強大的數據可視化功能。本文將C#.NET與Matlab混合編程的方法用于垂直防滲膜檢測的數據可視化過程來模擬刻畫垂直防滲膜的滲漏情況,通過算法去除干擾數據,并將檢測的HDPE防滲膜數據生成的Matlab圖像嵌入到VC界面中,相比傳統的滲漏檢測方法節約運行時間并有更佳的可視化效果。

1 ?C#與Matlab混編的實現過程

在C#中調用Matlab使用Matlab DeployTool生成生成COM組件或者.NET DLL文件的方法。因為使用Com Builder連接則十分簡單,具有跨平臺優勢,軟件版本的兼容性較好,COM組件成為本文首先的連接方式。

1.1 ?數據準備

第一步:安裝軟件。按先后順序依次安裝Visual Studio 2010、Matlab r2009a和MCRInstall.exe。安裝MCRInstall.exe的過程:在matlab命令窗口輸入mcr命令,得到MCRInstall.exe的路徑,雙擊打開并安裝。

第二步:利用MATLAB編譯器將m文件編譯為dll文件。

第三步:利用MATLAB Builder for COM將m函數編譯封裝成COM組件。

新建一個項目,在MATLAB的命令窗口中輸入“deploytool”。選擇Project- >Add File 添加相應的M文件,則M文件將作為類的方法出現在COM組件中,選擇Build ->COM Object編譯和發布COM組件。

1.2 ?COM組件的導入和編程

在新建C#工程中,引用生成的DLL文件。在C#.NET應用程序中使用該COM組件,右鍵單擊工程項目下引用,在瀏覽中找到Xlunwen.dll的位置添加至引用中,添加完成后可在C#.NET中使用。使用COM組件需要調用組件中類的方法,創建包含這個方法的類的實例。代碼如下:

Xlunwen.Xlunwen t = new Xlunwen.Xlunwen();

MWNumericArray s = array2;

t.Xiaolunwen(s); //其中Xiaolunwen為實現數據成像效果的M文件。

運行結果,如圖1所示。

2 ?基于時間序列的HDPE膜數據去噪算法

采集的HDPE膜數據左右兩邊受電勢影響普遍偏高,造成了局部時間點數據異常的特征,而漏洞數據也比正常數據偏高,如何區分數據中漏洞數據和去除電勢干擾形成的異常數據是本文的難點所在。

2.1 ?算法的基本思想

本文采用的是基于時間序列的HDPE膜數據去噪算法,基本思想是對整體數據進行分類為正常數據、漏洞數據和受電勢干擾數值升高的非漏洞數據,通過算法對數據加以分析,將非漏洞數據識別并轉化為正常數據,達到去除干擾數據的目的。2.2 ?具體做法

①對整體數據求均值。所有小于均值的數據為正常數據,將其值至為0,大于均值的數據為漏洞數據和異常數據,將其保留為矩陣A[m,n]。

②對矩陣A[m,n]求一階導數得B[m,n]。觀察數據的特征得知,發現矩陣左端異常數據走向為單調遞減,導數值均為負數;矩陣右端異常數據走向為單調遞增,導數值均為正數;而漏洞數據走向特征則是先遞增后遞減的趨勢。

③將干擾數據的導數值至0。將B[m,n]在Y軸分成m等份區間,每一個區間內的數據都是一個時間序列數據,依次從左邊掃描矩陣B[m,n]直到找到第一個導數值為正數的數據為止,將導數值為負數的數據全部至為0,達到去除左端的異常干擾數據的目的。同理,去除右端的異常干擾數據,則矩陣中只剩漏洞部分的導數值。

④將漏洞部分還原為原數據進行數據成像,效果如圖2所示。

3 ?窗體間的嵌入

VS2010中有4個對窗口進行操作的API函數:FindWindow、SetParent、SetWindowLong和MoveWindow?;舅枷耄簩atlab生成的圖形窗口嵌入到VS界面,通過VS平臺獲取Figure窗口的句柄,將Figure圖像要嵌入的空間設置為父窗口,Figure窗口設置為子窗口。 程序執行代碼如下:

IntPtr hChild = IntPtr.Zero; ?//子窗口句

IntPtr handle =pictureBox1.Handle;//父窗口

hChild = dll.FindWindow(null, “Figure 1”);

......

dll.SetParent(hChild, handle); //將子窗口嵌入到父窗口中

運行結果如圖3所示。

4 ?編程方式的運行時間對比

C#與Matlab混合編程對110次采樣值32個采集點(110×32)的數據多次成像所用的

平均時間對比,見表1。

5 ?結 ?論

表1中說明采用混編代碼長度較VS2010語言代碼長度大大縮短,而運行時間又比Matlabr2009a語言編程減少許多。本文充分發揮了MATLAB和C#各自的優勢,實現了MATLAB和C#的混合編程,利用算法去除干擾數據,并完成了Figure窗口到C#界面的內嵌,提高了程序運行速度和成像數據的精確度。

參考文獻:

[1] 能昌信,董路,姜文峰,等.土工膜滲漏檢測系統研究[J].環境科學與技 ? 術,2005,(28).

[2] 王麗輝,袁保宗.魯棒的模糊C均值和點云雙邊濾波去噪[J].北京交 ? 通大學學報,2008,(2).

[3] 蘇金明,查國明.MATLAB 與外部程序接口[M].北京:電子工業出版 ? 社,2004.

[4] 潘愛民.COM原理及應用[M].北京:清華大學出版社,2003.

主站蜘蛛池模板: 亚洲欧美成人综合| 天天视频在线91频| 最新午夜男女福利片视频| 91po国产在线精品免费观看| 国产浮力第一页永久地址| 日韩第一页在线| 亚洲国产精品国自产拍A| 亚洲欧洲美色一区二区三区| 国产精品免费p区| 亚洲欧美国产五月天综合| 国产精品女人呻吟在线观看| 成年女人18毛片毛片免费| 狂欢视频在线观看不卡| 久热99这里只有精品视频6| 国产网站黄| 萌白酱国产一区二区| 欧美一级在线| 在线观看免费国产| 国产素人在线| 她的性爱视频| 女人av社区男人的天堂| 国产精品女在线观看| 日韩视频免费| 久久免费观看视频| 免费高清毛片| 制服丝袜无码每日更新| 久久婷婷人人澡人人爱91| 国产精品三级专区| 97青草最新免费精品视频| 欧美精品H在线播放| 日韩 欧美 国产 精品 综合| 老司机久久99久久精品播放| 91在线视频福利| 国产原创演绎剧情有字幕的| 国产成熟女人性满足视频| 青青操国产| 亚洲欧洲日韩国产综合在线二区| 久久免费视频6| 欧美午夜久久| 国产精品深爱在线| 激情无码视频在线看| 无码精油按摩潮喷在线播放| 九九九国产| 欧美三级自拍| 亚洲无码精品在线播放| 国产探花在线视频| 青青青伊人色综合久久| 在线观看av永久| 午夜国产大片免费观看| 国产在线自揄拍揄视频网站| 蝴蝶伊人久久中文娱乐网| 成年女人a毛片免费视频| 欧美高清三区| 国产精品一线天| 欧美激情综合一区二区| 久久香蕉国产线看观看精品蕉| 九一九色国产| 内射人妻无套中出无码| 亚洲VA中文字幕| 国产chinese男男gay视频网| 欧美一区二区精品久久久| 四虎国产成人免费观看| 亚洲天堂首页| 亚洲国产成人久久精品软件| 久久亚洲黄色视频| 国产精品永久在线| 欧美成人手机在线视频| 亚洲av无码人妻| 国产成人盗摄精品| 婷婷综合亚洲| 毛片免费在线视频| 免费观看国产小粉嫩喷水| 亚洲精品手机在线| 爆乳熟妇一区二区三区| 重口调教一区二区视频| 国产一区二区三区视频| 国产极品美女在线观看| 久久综合伊人77777| 啦啦啦网站在线观看a毛片| 精品国产中文一级毛片在线看| 日本五区在线不卡精品| 亚洲天堂日韩av电影|