版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Fortran與其他語言由於純粹的Fortran語言在圖形操作能力上的缺陷,為了使數值計算程式能夠通過圖形用戶介面(GUI)與用戶進行即時的交互,通常會採用多種語言混合編程的方式來處理。不同的程式設計語言在處理不同的變數類型特別是副程式的參數傳遞處理方式上有很大的不同,只要在混合編程時注意變數類型和參數傳遞的處理方式,就能夠充分利用不同程式設計語言的優勢。Fortran語言在數值計算方面具有突出的優勢,能夠利用Fortran語言進行混合編程以提高數據處理方式的其他程式設計語言。包括:C/C++、Delphi、MASM、VisualBasic等。其中較為常見的是與MATLAB、VisualBasic語言進行混合編程,提高這兩種語言工具在進行大批量數據處理時的效率。本節主要介紹Fortran語言同MATLAB、VisualBasic語言的混合編程方法以及編程過程中需要瞭解的一些注意事項。17.1Fortran與MATLABMATLAB的名稱來源於MatrixLaboratory(即矩陣實驗室),它是MathWorks公司開發的一款優秀科學計算軟體。MATLAB將優秀的數值計算、符號運算和圖形環境結合起來,廣泛的應用於科學計算、控制系統、資訊處理等領域的分析、仿真和設計工作之中。自1984年第一代MATLAB軟體問世以來,MATLAB就一直在不斷的發展和豐富,功能和應用領域都有了很大的擴展。目前最新的MATLAB版本已經發展到了R2007b(7.5.0)版。Fortran語言的一大弱點就是圖形操作能力較差,通常需要借助別的程式設計語言或是利用編譯器擴展來實現圖形圖像的操作。儘管MATLAB在工程和科研領域應用較多,而且圖形處理能力相當突出,但是在一些規模較大的實際應用上面缺乏足夠的效率。如果配合Fortran語言在數值計算方面的優勢,加上MATLAB在圖形顯示方面的長處,則可以在Fortran程式中調用MATLAB的功能來實現計算結果的即時顯示。17.1.1系統配置在MATLAB中通過MEX檔來使用Fortran,需要對系統配置有一個必要的瞭解:系統需要安裝MATLAB應用程式的介面組件及相應的工具;使用的Fortran編譯器必須能夠支持32位的動態鏈接庫(即能夠編譯生成Windows系統下的DLL檔或Linux系統下的O檔)。具備了上述基本軟體條件後,還需要對MATLAB進行一些必要的配置。首先,在MATLAB命令行窗口中輸入如下命令來對MEX檔的應用進行配置:mex-setup接下來MATLAB會詢問用戶是否需要它自動定位已經安裝的編譯器:Pleasechooseyourcompilerforbuildingexternalinterface(MEX)files:
Wouldyoulikemextolocateinstalledcompilers[y]/n?17.1.2MEX檔的編寫配置成功MATLAB的外部檔介面之後,就可以使用Fortran語言編寫MEX檔了。Fortran語言版本的MEX檔根源程式主要由兩大部分組成——入口副程式和計算副程式。這兩種子程式在外部檔介面程式中分別用於完成不同的任務,下麵分別進行說明。1.入口程式和計算副程式2.MEX檔的實例一3.MEX檔的運行4.MEX檔的實例二5.MEX檔的實例三17.1.3MEX檔調用MATABFortran語言的MEX檔除了可以調用Fortran源代碼外,還可以通過MATLAB提供的API函數mexCallMATLAB來完成對MATLAB內部函數、運算符、M檔的調用。17.1.4Fortran調用MATLAB除了在MATLAB中通過MEX檔來調用Fortran源代碼外,還可以通過對編譯器進行設置來實現在Fortran中調用MATLAB引擎。這種應用通常用於Fortran語言作為計算前端進行數據的處理,而使用MATLAB作為圖形處理或是其他處理功能後端的領域。這一類型的檔介面又被稱為MAT檔。1.MATLAB引擎的配置下麵就來說明在系統中如何配置使用MATLAB引擎。首先也需要在MATLAB命令常口中使用如下命令來配置相應的環境:mex–setup2.配置CompaqVisulaFortran編譯環境3.應用實例4.實例的運行在CompaqVisualFortran中編譯通過上述程式代碼或是在MATLAB命令行窗口中輸入如下命令進行編譯:mex–f%MATLAB%\bin\win32\mexopts\cvf66engmatopts.bat%PATH%fengdemo.f17.2Fortran與VB在視窗程式開發工具中,Microsoft公司推出的VisualBasic在易學性、易用性和開發速度方面的優勢較為突出。配合使用Fortran編寫計算內核,使用VisualBasic編寫用戶介面是工程開發中比較好的選擇。而且使用VisualBasic同樣可以實現漂亮的圖形顯示結果,當然這需要對VisualBasic的圖形編程較為熟悉。微軟公司開發的VisualBasic是相當流行的視窗應用程式開發工具。這是一個完全基於事件編程模式的可視化程式設計語言,在功能上已經遠遠超出了它的原型——BASIC語言。目前該軟體開發工具已經發展了好幾版,最新的版本是VisualBasic2008,該版本中的Express版是一個供個人用戶免費使用版本,可以在Microsoft公司的主網上免費下載。17.2.1供VB調用的Fortran源代碼下麵先給出將要在VisualBasic中應用的Fortran源代碼,其中的各個子函數將會分別用於處理變數、數組、字串等常用數據類型。(詳細內容請參照本書)上面的代碼中總共編寫了3類函數,涉及了程式設計中經常會遇到的變數、數組和字串等基本數據類型的處理。Fortran語言在編譯後會將過程名默認轉化為大寫的形式,如果不想採用這種形式,則可以在源代碼中加入編譯設置選項。!DEC$ATTRIBUTESALIAS:“Calculate_Area”::CALCULATE_AREA這段編譯器設置語句的目的就是通過ALIAS選項將過程名CALCULATE_AREA改寫成Calculate_Area。17.2.2VB中的管理代碼在VisualBasic中調用Fortran語言編寫的過程時,只需要在聲明過程時寫清楚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗器械 合作协议
- 观光旅游情侣船合作协议
- 2025年四川雅安市栈道商务信息咨询有限责任公司招聘笔试参考题库附带答案详解
- 2025年甘肃天祝县农业产业扶贫开发有限责任公司招聘笔试参考题库附带答案详解
- 2025版新能源车辆运输及售后服务合同3篇
- 2025年度店面出租合同风险评估与预防措施2篇
- 2025年度个人债权担保合同参考文本4篇
- 2025年度个人沿街店房租赁合同(含租赁期限调整与续约流程)3篇
- 2025版建筑水电安装工程补充协议书3篇
- 2025年度住宅小区公共区域装修改造合同
- 2023年贵州省毕节市中考物理试题(原卷+解析版)真题含答案
- 饭店管理基础知识(第三版)中职PPT完整全套教学课件
- 2023年重庆市中考物理A卷试卷【含答案】
- 从中国制造到中国创造(优秀课件)
- 【打印版】意大利斜体英文字帖(2022年-2023年)
- 2023年浙江省嘉兴市中考数学试题及答案
- 【考试版】苏教版2022-2023学年四年级数学下册开学摸底考试卷(五)含答案与解析
- 《分数的基本性质》数学评课稿10篇
- 血液透析个案护理两篇
- 第八章 客户关系管理
- 新版人教版高中英语选修一、选修二词汇表
评论
0/150
提交评论