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

VB與Fortran混合編程的重磁數(shù)據(jù)處理可視化系統(tǒng)

2016-09-02 07:08:59宋偉聰李德春邱開林陳德炙王耀輝
關(guān)鍵詞:數(shù)據(jù)處理可視化程序

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

?

VB與Fortran混合編程的重磁數(shù)據(jù)處理可視化系統(tǒng)

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

利用VB與Fortran混合編程技術(shù),開發(fā)了重磁數(shù)據(jù)處理可視化系統(tǒng),該系統(tǒng)使用工程化管理,包含地形改正、坐標(biāo)轉(zhuǎn)換、空間域?yàn)V波、頻率域?yàn)V波等許多常用模塊。該系統(tǒng)充分發(fā)揮了2種編程語言的優(yōu)點(diǎn),不僅利用了Fortran程序資源,還擴(kuò)展了一些新的功能,在實(shí)際應(yīng)用中效率更高、交互性能更佳。

VB;Fortran;動(dòng)態(tài)鏈接庫;混合編程

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

1 Fortran動(dòng)態(tài)鏈接庫生成

以一個(gè)計(jì)算兩個(gè)數(shù)相加的簡單例子介紹一下建立動(dòng)態(tài)鏈接庫的具體步驟,該例子將會(huì)輸出一個(gè)動(dòng)態(tài)鏈接庫供后面的VB程序調(diào)用。

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

其次,新建一個(gè)Fortran程序,寫入相應(yīng)的代碼后存盤,之后插入到前面所建工程里面去,需要注意的是,將Fortran編寫的計(jì)算程序編譯成動(dòng)態(tài)鏈接庫,必須在Fortran子程序中聲明該子程序?yàn)橥獠孔映绦颍湔Z法為:!MSMYM ATTRIBUTES DLLEXPORT::add(//add為子程序名)。

最后,工程編譯后即可生成add.dll動(dòng)態(tài)鏈接庫文件了。具體代碼如下:

subroutine add(a,b,c)

!MSMYM ATTRIBUTES DLLEXPORT::add

integer*4 a,b,c

c=a+b

end

2 VB調(diào)用Fortran動(dòng)態(tài)鏈接庫

啟動(dòng)VB后,新建一個(gè)“標(biāo)準(zhǔn)EXE”工程,在窗體中添加3個(gè)文本框,再添加1個(gè)“計(jì)算”和1個(gè)“取消”按鈕,然后編寫相應(yīng)代碼。需要注意的是,F(xiàn)ortran動(dòng)態(tài)鏈接庫相對(duì)于VB過程而言是外部過程,因此在調(diào)用之前必須先聲明該過程為Private Declare Sub <動(dòng)態(tài)鏈接庫子程序過程名> Lib“動(dòng)態(tài)鏈接庫文件名及所在路徑”< Alias“過程別名”>(參數(shù)表)。具體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“計(jì)算結(jié)果為:”&str(c)

End Sub

Private Sub Command2_Click()

End

End Sub

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

圖1 示例程序運(yùn)行界面

通過上述簡單的例子可以看出,輸入與輸出都在VB中進(jìn)行,而計(jì)算過程在動(dòng)態(tài)鏈接庫里面進(jìn)行,充分發(fā)揮了VB與Fortran語言各自的優(yōu)點(diǎn)。

3 系統(tǒng)使用方法

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

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

圖2 重磁數(shù)據(jù)處理可視化系統(tǒng)運(yùn)行界面

4 應(yīng)用實(shí)例

利用Oasis Montaj軟件及該次研發(fā)的重磁數(shù)據(jù)處理可視化系統(tǒng)進(jìn)行新疆某工區(qū)的磁力數(shù)據(jù)處理,以期對(duì)軟件應(yīng)用效果進(jìn)行簡單的對(duì)比分析及可行性評(píng)價(jià)。Oasis Montaj軟件是由加拿大Geosoft公司研制的綜合地球物理數(shù)據(jù)處理及成圖軟件,其主要功能包括Oasis Montaj數(shù)據(jù)處理成圖平臺(tái)和專業(yè)地球科學(xué)數(shù)據(jù)處理解釋功能。利用上述2種處理軟件分別對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行了化極及上延等處理工作(見圖3)。

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

5 結(jié)語

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

VB與Fortran通過動(dòng)態(tài)鏈接庫進(jìn)行混合編程,為大量先前開發(fā)的Fortran程序升級(jí)為Windows下的可視化程序提供了一種簡單、快捷的解決方案。

圖3 2種軟件處理結(jié)果對(duì)比

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

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

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

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

[編輯]龔丹

2015-11-10

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

P631.1;P631.2

A

1673-1409(2016)17-0028-04

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

猜你喜歡
數(shù)據(jù)處理可視化程序
基于CiteSpace的足三里穴研究可視化分析
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
基于CGAL和OpenGL的海底地形三維可視化
“融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
英國與歐盟正式啟動(dòng)“離婚”程序程序
基于希爾伯特- 黃變換的去噪法在外測數(shù)據(jù)處理中的應(yīng)用
主站蜘蛛池模板: 91口爆吞精国产对白第三集| 91精品视频播放| 五月丁香在线视频| 国产不卡在线看| 浮力影院国产第一页| 91丨九色丨首页在线播放| 国产成人8x视频一区二区| 国产在线91在线电影| 亚洲人网站| 欧美精品在线观看视频| 露脸国产精品自产在线播| 亚洲国语自产一区第二页| 亚洲欧州色色免费AV| 日本人妻一区二区三区不卡影院 | 国产美女精品一区二区| 亚洲色图欧美| 欧美中文字幕一区| 国产一区二区三区在线精品专区| 毛片视频网址| 一区二区三区四区日韩| 久久人人妻人人爽人人卡片av| 99ri精品视频在线观看播放| 最新加勒比隔壁人妻| 午夜老司机永久免费看片| AV在线麻免费观看网站| 免费看黄片一区二区三区| 国产欧美网站| 国产成人精品一区二区三在线观看| 中国精品久久| 亚洲天堂.com| 成人第一页| AV不卡在线永久免费观看| 中文字幕首页系列人妻| 91午夜福利在线观看| 一本久道久综合久久鬼色| 中文字幕 91| 亚洲天堂视频网| 国产精品美女免费视频大全| 久久国产精品77777| 国产精品香蕉| 欧美国产日产一区二区| 国产麻豆另类AV| 国产一区三区二区中文在线| 91外围女在线观看| 国产综合欧美| 国模粉嫩小泬视频在线观看| 国产亚洲视频中文字幕视频 | 亚洲高清在线天堂精品| 国产成人一区| 亚洲综合精品第一页| 亚洲男人天堂网址| 亚洲精品大秀视频| 91精品人妻互换| 最新国语自产精品视频在| 欧美不卡视频一区发布| 免费va国产在线观看| 日韩大片免费观看视频播放| 日韩欧美国产区| 国产精品性| jizz国产在线| 国产精品福利导航| 精品久久香蕉国产线看观看gif | 国产精品久久久久无码网站| 日韩欧美国产成人| 国产黄色片在线看| a级毛片免费在线观看| hezyo加勒比一区二区三区| 国产精品永久不卡免费视频| a在线亚洲男人的天堂试看| 又大又硬又爽免费视频| 日韩精品一区二区三区视频免费看| 人妻精品全国免费视频| 最新痴汉在线无码AV| 国产精品hd在线播放| 99成人在线观看| 日日噜噜夜夜狠狠视频| 国产在线观看第二页| 国产成人在线小视频| 中文字幕在线看视频一区二区三区| 亚欧成人无码AV在线播放| 91久久青青草原精品国产| 无码区日韩专区免费系列|