第17章 Fortran与其他语言 由于纯粹的Fortran语言在图形操作能力上的缺陷,为了使数值计算程序能够通过图形用户界面(GUI)与用户进行即时的交互,通常会采用多种语言混合编程的方式来处理。 不同的程序设计语言在处理不同的变量类型特别是子程序的参数传递处理方式上有很大的不同,只要在混合编程时注意变量类型和参数传递的处理方式,就能够充分利用不同程序设计语言的优势。Fortran语言在数值计算方面具有突出的优势,能够利用Fortran语言进行混合编程以提高数据处理方式的其他程序设计语言。包括:C/C+

Slides:



Advertisements
Similar presentations
第2章第2章 第 1 节 生物与非生物. [ 猜谜语 ] 名字叫做牛, 不会拉犁头; 说我力气小, 背着房子走。 ( 打一动 物)
Advertisements

集团公司火力发电厂热工自动控 制系统的投入情况和问题分析 东北所热自室. 自动控制系统是机组热工专业管理水 平和设备状态的集中体现,一台机组 的自动投入率和自动调节品质体现了 机组的整体水平。同时,自动控制效 果的优劣,也是机组节能降耗目标的 实现手段和基础。
1 —— 数学软件 计算机应用基础. 2 数学软件 论文排版: LaTeX , Word , Powerpoint 程序设计: FORTRAN , C/C++ 数值计算: Matlab , Scilab 符号计算: Mathematica , Maple 统计软件: SAS , SPSS 数学规划:
程序设计基础 第 2 章 解题要有程序 主讲:吴献彩 Tel : QQ :
创作计算机程序 学习目标: 定义术语 “ 计算机程序 ” 说明编程过程中流程图和伪代码的用途 介绍程序在寻求解决方案的过程中可以利用的两种方 法 区别计算机编程的两个主要步骤 列举并描述面向对象编程的三个要素.
第 3 章操作系统基础 3.1 操作系统概述 3.2 操作系统的功能模块 3.3 典型操作系统概述.
职业指导服务系统 欢迎了解职业指导服务系统!
公司保密工作要求及 院商秘保护工作安排 2014年9月12日.
谷雨节气模板.
可爱的蜗牛 一、蜗牛冬眠 二、蜗牛进食 三、蜗牛排泄 四、蜗牛呼吸.
按開憂鬱症的結 ---穴位玄機妙用 溫嬪容 醫師.
课程内容及考试介绍 讲解内容: 考试(开卷考试) 课堂讲授:第一章~第七章(不包括第六章);
中日合资 武汉安珞计算机系统有限公司 公司介绍
中信信诚-淮安项目.
專題製作經驗分享:多媒體組 嘉義高商 資料處理科 郭文賢.
提高自身素质做好 新时期班主任工作 北京市广渠门中学 高金英.
Access数据库知识 安丘市职业中专 雷云龙.
普通话模拟测试 与学习平台 使用指南.
香港普通話研習社科技創意小學 周順強老師.
傷 仲 永 王安石 S 孫子潔.
網路小說劇情建構與伏線營造 Windows98.
資傳一A學生學習檔案製作 學習檔案設計—自傳的寫法
比爾蓋茲導讀.
参考书: 《数字信号处理及其Matlab实现》
張智星 清大資工系 多媒體檢索實驗室 MATLAB小傳與外觀 張智星 清大資工系 多媒體檢索實驗室.
1-1 MATLAB 小傳(1) 由MathWorks公司於1984年推出的 數學軟體。 名稱是由「矩陣實驗室﹙MATrix
运用Matlab GUI辅助大学物理实验 蒋志洁 中山大学 物理学院
Visual Basic程序设计 主 编  柳青.
校園霸凌事件處理、申復流程暨狀況模擬 林華杉教官 此範本可作為群組設定中簡報訓練教材的起始檔案。 章節
关于整合检验检测认证机构实施意见的通知(国办发〔2014〕8号)
多变的天气 高区一中 王永波
数据库管理软件 Access 2003的使用 安丘市职业中专 雷云龙 1.
Visual Basic 期中報告 組長:沈亞臻 組員:蔣佳育 張庭茹
推进德育创新 做好新时期班主任工作 北京市广渠门中学 高金英.
基于VC++的数字图像特效处理系统的设计与实现
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
本章投影片僅供本書上課教師使用,非經同意請勿拷貝或轉載
全球工程師共同的語言 MathWorks 台灣總代理鈦思科技 指導老師 : 郭艷光教授 報告者 : 吳育驊
網路點名系統 致遠管理學院網路通訊學系 張逸中 2007/6/22.
「簡易水土保持申報書」 內容及送審流程之探討
第1章 MATLAB概述 1.1 MATLAB 7.x简介 是Matrix Laboratory的缩写,它将计算、可视化和编程功能于一身,是一个开放的基于矩阵的交互式开发系统。主要用于数学计算、系统建模与仿真、数据分析与可视化等。(Mathworks始创于1984) MATLAB的系统结构.
計算機及資訊網路中心 作業組服務介紹 2006/03/24 系所網管會議 助理程式設計師 張傑生
第1章 Fortran概述 作为一门诞生于上个世纪50年代后半期的高级计算机语言,Fortran在这个C/C++、Java等新兴语言大行其道的时代仍然活跃在人们的视野之中。Fortran语言的长项在于数值计算,在科学研究和工程设计领域有着广泛的用途。在描述数学语言的自然性方面,Fortran同现存的其他高级语言相比有着明显的优势。对于科研工作者和工程技术人员而言,Fortran语言的易学性和易用性是公认的。
程式語言 I – VISUAL BASIC 選擇結構語法與應用 Chapter 7 認知
步进电机控制技术综合实验.
第2章 Visual FoxPro 简介 Visual FoxPro概述 Visual FoxPro设计工具
WINDOWS 報告者: 洪仁修.
用相频曲线测阻尼系数的探索 指导教师 陈乾 吉新程.
第1章 Visual Basic 简介 郭清溥.
Excel - 九十七年度教職員工資訊教育訓練 董建弘.
文 本 信 息 加 工.
华硕笔记本日常使用小知识.
算法与程序设计.
Advanced Persistent Threat
COM组件及其设计 一、COM组件定义和DNA思想简介 二、COM组件的特点 三、COM组件对象的软件工程方法 四、DNS、MTS
2012温州市“深化普通高中课程改革”信息技术学科培训
程式語言 程式語言發展史 資料型態 程式指令 程序定義和使用.
導 論 教學投影片.
动态链接库 主讲人:孙鑫
計算機程式 Visual BASIC 程式設計
感光世界 亞洲大學 資訊工程學系 學生:郭致翔、林壬午、黃智猷、陳奕升 指導教授:蔡志仁教授
第一单元 第1课 Matlab概述 1.MATLAB 2.工具箱 3.高效数值计算功能 4.完备的计算结果和编程可视化功能
HOOK和数据库访问 主讲人:孙鑫
MATLAB 实用教程.
我會看年曆.
竹炭紗應用於經二重織物保溫性之研究 研究學生:蔡修任 指導老師:蔣敏洵.
105年教育部熱血老師翻轉學生「教育愛」座談會
安裝 Visual C Express Edition
程式設計與程式語言 告訴電腦做些什麼 第十六章.
Presentation transcript:

第17章 Fortran与其他语言 由于纯粹的Fortran语言在图形操作能力上的缺陷,为了使数值计算程序能够通过图形用户界面(GUI)与用户进行即时的交互,通常会采用多种语言混合编程的方式来处理。 不同的程序设计语言在处理不同的变量类型特别是子程序的参数传递处理方式上有很大的不同,只要在混合编程时注意变量类型和参数传递的处理方式,就能够充分利用不同程序设计语言的优势。Fortran语言在数值计算方面具有突出的优势,能够利用Fortran语言进行混合编程以提高数据处理方式的其他程序设计语言。包括:C/C++、Delphi、MASM、Visual Basic等。其中较为常见的是与MATLAB、Visual Basic语言进行混合编程,提高这两种语言工具在进行大批量数据处理时的效率。 本节主要介绍Fortran语言同MATLAB、Visual Basic语言的混合编程方法以及编程过程中需要了解的一些注意事项。

17.1 Fortran与MATLAB MATLAB的名称来源于Matrix Laboratory(即矩阵实验室),它是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会询问用户是否需要它自动定位已经安装的编译器: Please choose your compiler for building external interface (MEX) files:   Would you like mex to locate installed compilers [y]/n?

17.1.2 MEX文件的编写 配置成功MATLAB的外部文件接口之后,就可以使用Fortran语言编写MEX文件了。Fortran语言版本的MEX文件源程序主要由两大部分组成——入口子程序和计算子程序。这两种子程序在外部文件接口程序中分别用于完成不同的任务,下面分别进行说明。 1.入口程序和计算子程序 2.MEX文件的实例一 3.MEX文件的运行 4.MEX文件的实例二 5.MEX文件的实例三

17.1.3 MEX文件调用MATAB Fortran语言的MEX文件除了可以调用Fortran源代码外,还可以通过MATLAB提供的API函数mexCallMATLAB来完成对MATLAB内部函数、运算符、M文件的调用。

17.1.4 Fortran调用MATLAB 除了在MATLAB中通过MEX文件来调用Fortran源代码外,还可以通过对编译器进行设置来实现在Fortran中调用MATLAB引擎。这种应用通常用于Fortran语言作为计算前端进行数据的处理,而使用MATLAB作为图形处理或是其他处理功能后端的领域。这一类型的文件接口又被称为MAT文件。 1.MATLAB引擎的配置 下面就来说明在系统中如何配置使用MATLAB引擎。首先也需要在MATLAB命令常口中使用如下命令来配置相应的环境: mex –setup 2.配置Compaq Visula Fortran编译环境 3.应用实例 4.实例的运行 在Compaq Visual Fortran中编译通过上述程序代码或是在MATLAB命令行窗口中输入如下命令进行编译: mex –f %MATLAB%\bin\win32\mexopts\cvf66engmatopts.bat %PATH%fengdemo.f

17.2 Fortran与VB 在视窗程序开发工具中,Microsoft公司推出的Visual Basic在易学性、易用性和开发速度方面的优势较为突出。配合使用Fortran编写计算内核,使用Visual Basic编写用户界面是工程开发中比较好的选择。而且使用Visual Basic同样可以实现漂亮的图形显示结果,当然这需要对Visual Basic的图形编程较为熟悉。 微软公司开发的Visual Basic是相当流行的视窗应用程序开发工具。这是一个完全基于事件编程模式的可视化程序设计语言,在功能上已经远远超出了它的原型——BASIC语言。目前该软件开发工具已经发展了好几版,最新的版本是Visual Basic 2008,该版本中的Express版是一个供个人用户免费使用版本,可以在Microsoft公司的主网上免费下载。

17.2.1 供VB调用的Fortran源代码 下面先给出将要在Visual Basic中应用的Fortran源代码,其中的各个子函数将会分别用于处理变量、数组、字符串等常用数据类型。 (详细内容请参照本书) 上面的代码中总共编写了3类函数,涉及了程序设计中经常会遇到的变量、数组和字符串等基本数据类型的处理。Fortran语言在编译后会将过程名默认转化为大写的形式,如果不想采用这种形式,则可以在源代码中加入编译设置选项。 !DEC$ ATTRIBUTES ALIAS : “Calculate_Area” :: CALCULATE_AREA 这段编译器设置语句的目的就是通过ALIAS选项将过程名CALCULATE_AREA改写成Calculate_Area。

17.2.2 VB中的管理代码 在Visual Basic中调用Fortran语言编写的过程时,只需要在声明过程时写清楚要调用的过程放在哪个DLL文件中,并且将参数的类型正确编写出来就可以了。 下面给出使用Visual Basic语言编写的主程序,该程序用于响应用户在图形界面上的输入,例如单击按钮、输入数据等,并负责调用正确的计算函数来进行相应的数值处理。

17.2.3 程序的运行说明 程序的初始运行界面如图所示: