Fortran與其他語言課件_第1頁
Fortran與其他語言課件_第2頁
Fortran與其他語言課件_第3頁
Fortran與其他語言課件_第4頁
Fortran與其他語言課件_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Fortran與其他語言由於純粹的Fortran語言在圖形操作能力上的缺陷,為了使數(shù)值計算程式能夠通過圖形用戶介面(GUI)與用戶進行即時的交互,通常會採用多種語言混合編程的方式來處理。不同的程式設(shè)計語言在處理不同的變數(shù)類型特別是副程式的參數(shù)傳遞處理方式上有很大的不同,只要在混合編程時注意變數(shù)類型和參數(shù)傳遞的處理方式,就能夠充分利用不同程式設(shè)計語言的優(yōu)勢。Fortran語言在數(shù)值計算方面具有突出的優(yōu)勢,能夠利用Fortran語言進行混合編程以提高數(shù)據(jù)處理方式的其他程式設(shè)計語言。包括:C/C++、Delphi、MASM、VisualBasic等。其中較為常見的是與MATLAB、VisualBasic語言進行混合編程,提高這兩種語言工具在進行大批量數(shù)據(jù)處理時的效率。本節(jié)主要介紹Fortran語言同MATLAB、VisualBasic語言的混合編程方法以及編程過程中需要瞭解的一些注意事項。17.1Fortran與MATLABMATLAB的名稱來源於MatrixLaboratory(即矩陣實驗室),它是MathWorks公司開發(fā)的一款優(yōu)秀科學(xué)計算軟體。MATLAB將優(yōu)秀的數(shù)值計算、符號運算和圖形環(huán)境結(jié)合起來,廣泛的應(yīng)用於科學(xué)計算、控制系統(tǒng)、資訊處理等領(lǐng)域的分析、仿真和設(shè)計工作之中。自1984年第一代MATLAB軟體問世以來,MATLAB就一直在不斷的發(fā)展和豐富,功能和應(yīng)用領(lǐng)域都有了很大的擴展。目前最新的MATLAB版本已經(jīng)發(fā)展到了R2007b(7.5.0)版。Fortran語言的一大弱點就是圖形操作能力較差,通常需要借助別的程式設(shè)計語言或是利用編譯器擴展來實現(xiàn)圖形圖像的操作。儘管MATLAB在工程和科研領(lǐng)域應(yīng)用較多,而且圖形處理能力相當(dāng)突出,但是在一些規(guī)模較大的實際應(yīng)用上面缺乏足夠的效率。如果配合Fortran語言在數(shù)值計算方面的優(yōu)勢,加上MATLAB在圖形顯示方面的長處,則可以在Fortran程式中調(diào)用MATLAB的功能來實現(xiàn)計算結(jié)果的即時顯示。17.1.1系統(tǒng)配置在MATLAB中通過MEX檔來使用Fortran,需要對系統(tǒng)配置有一個必要的瞭解:系統(tǒng)需要安裝MATLAB應(yīng)用程式的介面組件及相應(yīng)的工具;使用的Fortran編譯器必須能夠支持32位的動態(tài)鏈接庫(即能夠編譯生成Windows系統(tǒng)下的DLL檔或Linux系統(tǒng)下的O檔)。具備了上述基本軟體條件後,還需要對MATLAB進行一些必要的配置。首先,在MATLAB命令行窗口中輸入如下命令來對MEX檔的應(yīng)用進行配置:mex-setup接下來MATLAB會詢問用戶是否需要它自動定位已經(jīng)安裝的編譯器:Pleasechooseyourcompilerforbuildingexternalinterface(MEX)files:

Wouldyoulikemextolocateinstalledcompilers[y]/n?17.1.2MEX檔的編寫配置成功MATLAB的外部檔介面之後,就可以使用Fortran語言編寫MEX檔了。Fortran語言版本的MEX檔根源程式主要由兩大部分組成——入口副程式和計算副程式。這兩種子程式在外部檔介面程式中分別用於完成不同的任務(wù),下麵分別進行說明。1.入口程式和計算副程式2.MEX檔的實例一3.MEX檔的運行4.MEX檔的實例二5.MEX檔的實例三17.1.3MEX檔調(diào)用MATABFortran語言的MEX檔除了可以調(diào)用Fortran源代碼外,還可以通過MATLAB提供的API函數(shù)mexCallMATLAB來完成對MATLAB內(nèi)部函數(shù)、運算符、M檔的調(diào)用。17.1.4Fortran調(diào)用MATLAB除了在MATLAB中通過MEX檔來調(diào)用Fortran源代碼外,還可以通過對編譯器進行設(shè)置來實現(xiàn)在Fortran中調(diào)用MATLAB引擎。這種應(yīng)用通常用於Fortran語言作為計算前端進行數(shù)據(jù)的處理,而使用MATLAB作為圖形處理或是其他處理功能後端的領(lǐng)域。這一類型的檔介面又被稱為MAT檔。1.MATLAB引擎的配置下麵就來說明在系統(tǒng)中如何配置使用MATLAB引擎。首先也需要在MATLAB命令??谥惺褂萌缦旅顏砼渲孟鄳?yīng)的環(huán)境:mex–setup2.配置CompaqVisulaFortran編譯環(huán)境3.應(yīng)用實例4.實例的運行在CompaqVisualFortran中編譯通過上述程式代碼或是在MATLAB命令行窗口中輸入如下命令進行編譯:mex–f%MATLAB%\bin\win32\mexopts\cvf66engmatopts.bat%PATH%fengdemo.f17.2Fortran與VB在視窗程式開發(fā)工具中,Microsoft公司推出的VisualBasic在易學(xué)性、易用性和開發(fā)速度方面的優(yōu)勢較為突出。配合使用Fortran編寫計算內(nèi)核,使用VisualBasic編寫用戶介面是工程開發(fā)中比較好的選擇。而且使用VisualBasic同樣可以實現(xiàn)漂亮的圖形顯示結(jié)果,當(dāng)然這需要對VisualBasic的圖形編程較為熟悉。微軟公司開發(fā)的VisualBasic是相當(dāng)流行的視窗應(yīng)用程式開發(fā)工具。這是一個完全基於事件編程模式的可視化程式設(shè)計語言,在功能上已經(jīng)遠(yuǎn)遠(yuǎn)超出了它的原型——BASIC語言。目前該軟體開發(fā)工具已經(jīng)發(fā)展了好幾版,最新的版本是VisualBasic2008,該版本中的Express版是一個供個人用戶免費使用版本,可以在Microsoft公司的主網(wǎng)上免費下載。17.2.1供VB調(diào)用的Fortran源代碼下麵先給出將要在VisualBasic中應(yīng)用的Fortran源代碼,其中的各個子函數(shù)將會分別用於處理變數(shù)、數(shù)組、字串等常用數(shù)據(jù)類型。(詳細(xì)內(nèi)容請參照本書)上面的代碼中總共編寫了3類函數(shù),涉及了程式設(shè)計中經(jīng)常會遇到的變數(shù)、數(shù)組和字串等基本數(shù)據(jù)類型的處理。Fortran語言在編譯後會將過程名默認(rèn)轉(zhuǎn)化為大寫的形式,如果不想採用這種形式,則可以在源代碼中加入編譯設(shè)置選項。!DEC$ATTRIBUTESALIAS:“Calculate_Area”::CALCULATE_AREA這段編譯器設(shè)置語句的目的就是通過ALIAS選項將過程名CALCULATE_AREA改寫成Calculate_Area。17.2.2VB中的管理代碼在VisualBasic中調(diào)用Fortran語言編寫的過程時,只需要在聲明過程時寫清楚

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論