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

下載本文檔

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

文檔簡(jiǎn)介

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論