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

VB與Fortran混合編程的重磁數據處理可視化系統

2016-09-02 07:08:59宋偉聰李德春邱開林陳德炙王耀輝
長江大學學報(自科版) 2016年17期
關鍵詞:數據處理可視化程序

宋偉聰,李德春,邱開林,陳德炙,王耀輝

?

VB與Fortran混合編程的重磁數據處理可視化系統

宋偉聰,李德春,邱開林,陳德炙,王耀輝

利用VB與Fortran混合編程技術,開發了重磁數據處理可視化系統,該系統使用工程化管理,包含地形改正、坐標轉換、空間域濾波、頻率域濾波等許多常用模塊。該系統充分發揮了2種編程語言的優點,不僅利用了Fortran程序資源,還擴展了一些新的功能,在實際應用中效率更高、交互性能更佳。

VB;Fortran;動態鏈接庫;混合編程

VB與Fortran混合編程一般說來有2種方式[1]:一是利用VB的Shell函數來啟動Fortran應用程序,由于Shell函數是以異步方式執行的,該執行方式不能等待Fortran程序結束而繼續執行后續VB程序,容易使VB得不到最終的數據結果而出錯[2];二是通過VB調用Fortran所生成的動態鏈接庫來實現,該方式避免了第1種方式所出現的問題,同時還具有節省內存開支等眾多優點。為此,該次編制重磁處理可視化系統選用第2種方式。使用動態鏈接庫需要注意的問題主要是命名約定和參數傳遞約定,具體可以查詢相關資料,在此不再贅述。

1 Fortran動態鏈接庫生成

以一個計算兩個數相加的簡單例子介紹一下建立動態鏈接庫的具體步驟,該例子將會輸出一個動態鏈接庫供后面的VB程序調用。

首先,啟動Fortran Powerstation4.0,新建一個Project Workspace工程,之后選擇工程的類型為Dynamic-Link Library,并輸入工程的名字:add,然后確定。

其次,新建一個Fortran程序,寫入相應的代碼后存盤,之后插入到前面所建工程里面去,需要注意的是,將Fortran編寫的計算程序編譯成動態鏈接庫,必須在Fortran子程序中聲明該子程序為外部子程序,其語法為:!MSMYM ATTRIBUTES DLLEXPORT::add(//add為子程序名)。

最后,工程編譯后即可生成add.dll動態鏈接庫文件了。具體代碼如下:

subroutine add(a,b,c)

!MSMYM ATTRIBUTES DLLEXPORT::add

integer*4 a,b,c

c=a+b

end

2 VB調用Fortran動態鏈接庫

啟動VB后,新建一個“標準EXE”工程,在窗體中添加3個文本框,再添加1個“計算”和1個“取消”按鈕,然后編寫相應代碼。需要注意的是,Fortran動態鏈接庫相對于VB過程而言是外部過程,因此在調用之前必須先聲明該過程為Private Declare Sub <動態鏈接庫子程序過程名> Lib“動態鏈接庫文件名及所在路徑”< Alias“過程別名”>(參數表)。具體VB代碼如下:

Private Declare Sub add Lib “add.dll” Alias “_ADD@12” (ByRef a As Double, ByRef b As Double, ByRef c As Double)

Private Sub Command1_Click()

Dim a As Double, b As Double, c As Double

a = Val(Text1.Text)

b = Val(Text2.Text)

Call add(a, b, c)

Text3.Text = c

MsgBox“計算結果為:”&str(c)

End Sub

Private Sub Command2_Click()

End

End Sub

程序運行后,在文本輸入框中輸入a和b值,然后點擊計算按鈕,即可求得a與b之和(見圖1)。

圖1 示例程序運行界面

通過上述簡單的例子可以看出,輸入與輸出都在VB中進行,而計算過程在動態鏈接庫里面進行,充分發揮了VB與Fortran語言各自的優點。

3 系統使用方法

早期重磁數據處理程序基本上用Fortran編寫,編譯后在DOS下運行,計算速度較快,但操作極為不便,交互性能差。因此,筆者利用上述混合編程方法重新整理了早期開發的程序,把分散的程序集成到一起,編制了友好的、交互式的可視化系統。該系統使用工程化管理,包含地形改正、坐標轉換、空間域濾波、頻率域濾波、剖面處理、界面正反演、數據整理等常用模塊,相比“黑屏”的DOS程序,該系統既擁有友好的、可視化界面,又具有圖形顯示功能,同時又很好地兼顧了Fortran的計算速度,不僅節省了系統資源,而且提高了工作效率。

以求取磁力異常的垂向一次導數為例,簡單介紹該系統的使用方法:首先,運行重磁數據處理可視化系統(圖2),新建一個工程,也可以不建立工程直接調用系統中的模塊進行計算,建立工程是為了方便對每個工區大量數據文件的管理;建立工程后,在工程管理中網格數據節點上點擊右鍵,添加待處理的磁力網格文件;然后運行頻率域濾波模塊下面的頻率域處理主程序,輸入各項參數;最后用鼠標點擊確定按鈕,程序開始運算,計算結束后程序會有提示信息。使用者可以變換不同參數反復計算,并且可以對計算結果進行預覽,根據預覽結果可以快速地調整處理參數,直至滿意為止。

圖2 重磁數據處理可視化系統運行界面

4 應用實例

利用Oasis Montaj軟件及該次研發的重磁數據處理可視化系統進行新疆某工區的磁力數據處理,以期對軟件應用效果進行簡單的對比分析及可行性評價。Oasis Montaj軟件是由加拿大Geosoft公司研制的綜合地球物理數據處理及成圖軟件,其主要功能包括Oasis Montaj數據處理成圖平臺和專業地球科學數據處理解釋功能。利用上述2種處理軟件分別對試驗數據進行了化極及上延等處理工作(見圖3)。

由圖3可以看出,筆者通過混合編程所研制的重磁數據處理可視化系統是可靠的,可以用來進行重磁數據的處理工作,同時其運算速度也達到了日常工作需要。一般針對一個300×300的離散網格數據,對其進行上延、化極、求導等工作,用時一般不超過1s,充分說明了混合編程的優勢所在,在不降低甚至提高原有程序運算速度的基礎上,同時提供了友好的、可交互的軟件界面,增加了實用性。

5 結語

利用混合編程技術編制的重磁數據處理可視化系統,包含空間域、頻率域濾波等常用模塊,滿足了重磁處理解釋工作者的實際需求。軟件還增加了對Surfer二進制網格文件格式的支持,添加了圖形預覽等功能,增強了程序的實用性。軟件可以運行于Windows XP、Win7等操作系統,界面簡潔,使用簡單,具有一定計算機知識和重磁資料處理經驗的人員,可快速熟練掌握。

VB與Fortran通過動態鏈接庫進行混合編程,為大量先前開發的Fortran程序升級為Windows下的可視化程序提供了一種簡單、快捷的解決方案。

圖3 2種軟件處理結果對比

[1]馬進榮,王永勇,謝敏.VB與Fortran混合編程在河口潮流計算中的應用[J].人民珠江,2005,(3):81~82.

[2]徐林春,趙明登,童漢毅.Fortran與VB混合編程及其在流動數值模擬可視化技術中的應用[J]. 武漢大學學報(工學版),2004,37(2):21~24.

[3]蔣斌,歐陽柳波,楊超.Visual Basic 6.0程序設計[M].北京:電子工業出版社,2001.

[4]桂良進,王軍,董波.Fortran PowerStation 4.0使用與編程[M].北京:北京航空航天大學出版社,1999.

[編輯]龔丹

2015-11-10

宋偉聰(1980-),男,工程師,主要從事油氣非地震勘探技術工作,songweicong@cnpc.com.cn。

P631.1;P631.2

A

1673-1409(2016)17-0028-04

[引著格式]宋偉聰,李德春,邱開林,等.VB與Fortran混合編程的重磁數據處理可視化系統[J].長江大學學報(自科版), 2016,13(17):28~31.

猜你喜歡
數據處理可視化程序
基于CiteSpace的足三里穴研究可視化分析
認知診斷缺失數據處理方法的比較:零替換、多重插補與極大似然估計法*
心理學報(2022年4期)2022-04-12 07:38:02
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
ILWT-EEMD數據處理的ELM滾動軸承故障診斷
水泵技術(2021年3期)2021-08-14 02:09:20
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于希爾伯特- 黃變換的去噪法在外測數據處理中的應用
主站蜘蛛池模板: 91麻豆国产视频| 欧美专区在线观看| 亚洲最黄视频| 亚洲无码37.| 国产欧美日韩资源在线观看| 国内精自视频品线一二区| 国产福利小视频在线播放观看| 欧美在线视频a| 欧美人与牲动交a欧美精品| 国内精品手机在线观看视频| 风韵丰满熟妇啪啪区老熟熟女| 免费在线a视频| 免费日韩在线视频| 国产精品成人AⅤ在线一二三四| 浮力影院国产第一页| 中日韩一区二区三区中文免费视频| 97久久超碰极品视觉盛宴| 国产精品乱偷免费视频| 亚洲人成网站观看在线观看| 日韩在线视频网| 经典三级久久| 国产91色| 国产欧美精品一区二区| 国产精品19p| 另类欧美日韩| 天堂网国产| 狠狠色婷婷丁香综合久久韩国 | 国产成人综合亚洲网址| 国产在线观看91精品| 国产精品妖精视频| 欧美日韩国产精品va| 无码福利日韩神码福利片| 五月六月伊人狠狠丁香网| 国产视频一区二区在线观看| 久久婷婷六月| 情侣午夜国产在线一区无码| 中文字幕资源站| 欧美另类图片视频无弹跳第一页| 天堂成人av| 91福利国产成人精品导航| AV网站中文| 精品国产免费观看| 国产精品jizz在线观看软件| 日韩毛片基地| 日韩免费无码人妻系列| 久久久亚洲国产美女国产盗摄| 一本大道无码日韩精品影视| 精品亚洲麻豆1区2区3区| 亚洲天堂色色人体| 亚洲天堂成人| 精品国产美女福到在线不卡f| 麻豆国产在线观看一区二区| 婷婷综合色| 黄片在线永久| 一区二区欧美日韩高清免费| 国产精品视频观看裸模| 深爱婷婷激情网| 国产97区一区二区三区无码| 26uuu国产精品视频| 日韩无码真实干出血视频| 玖玖免费视频在线观看 | 亚洲欧美日韩中文字幕一区二区三区| 国产人妖视频一区在线观看| 婷婷六月天激情| 亚洲男女在线| 亚洲日本精品一区二区| 波多野结衣在线一区二区| 嫩草影院在线观看精品视频| 国产精品jizz在线观看软件| 青青久在线视频免费观看| 制服无码网站| 一级毛片在线播放| 无码国产伊人| 午夜a视频| 精品视频第一页| 午夜人性色福利无码视频在线观看| 综合色在线| 日韩黄色精品| 亚洲AV无码久久精品色欲 | 国产色婷婷视频在线观看| 中文字幕免费在线视频| 日本尹人综合香蕉在线观看|