




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年变频技术应用模块项目发展计划
- 科技与教育的融合多媒体教学在老年教育中的价值
- 棉花购销合同
- 新材料研发技术转让协议
- 路基换填级配碎石施工方案
- EIM Book 1 Unit 7 Learning languages单元检测试题
- 四川省政府采购评审专家考试题库
- GB/T 34875-2017离心泵和转子泵用轴封系统
- GB/T 25085.3-2020道路车辆汽车电缆第3部分:交流30 V或直流60 V单芯铜导体电缆的尺寸和要求
- GA/T 1081-2020安全防范系统维护保养规范
- 2023一年级下册语文教学工作计划(2篇)
- 2022年云上贵州大数据(集团)有限公司招聘笔试试题及答案解析
- (虎符铜砭刮痧)基本理论及临床应用课件
- 文件袋、档案袋密封条模板
- 依图科技业务概述
评论
0/150
提交评论