Fortran和Matlab混合编程简介
- 格式:ppt
- 大小:1.72 MB
- 文档页数:33
第15章MATLAB与其他编程语言结合第1 5章M A T L A B与其他编程语言结合M AT L A B可以和其他编程语言一起使用,可以调用 F O RT R A N或C程序。
反过来F O R T R A N或C也可以调用M A T L A B程序。
这样,快速的编译程序就可以利用M A T L A B中强大的矩阵或图形命令,通过编写部分的C或F O R T R A N程序,并进行编译,就可以避免M A L TA B 程序的瓶颈现象。
M A T L A B还可以结合使用其他的应用程序,如Microsoft Word for Wi n d o w s。
这将在本章的最后一节讨论,这主要取决于计算机的系统和安装的应用程序。
15.1 介绍M A T L A B和F O R T R A N或CM A T L A B可以被F O R T R A N或C语言程序调用,它也可以调用F O R T R A N或C语言程序。
如果M A T L A B程序运行速度很慢,后者对此很有用。
因为M A T L A B是一个解释性语言,所以当运行程序时就是解释它的命令。
这样有时会导致程序的运行速度很慢,如f o r- l o o p s循环。
在F O RTRAN 77和C中可以使用M AT L A B库,也可以用F O RTRAN 90或C++对它们进行链接。
除非特别需要,一般不推荐编写F O R T R A N或C程序。
M A T L A B的优点在于可以用高级的形式描述出操作,而程序员不必担心循环的次数和一些其他细节问题。
被M A T L A B调用的程序必须在编译后转换成M E X文件,这样才能被M A T L A B调用。
在编译时它们和M文件一样使用。
在2 .8节中讲到了由M A T L A B创建的二进制文件。
它们是以M A T文件形式被调用的,在C 或F O R T R A N语言的库中有用来读和写二进制文件的程序。
科学计算中如果需要同时用到fortran和matlab,通常为在MATLAB中调用Fortran。
由于compact fortran和powerstation等编译器在win环境下陆续无法兼容,目前一般使用visual studio(vs)加intel visual fortran(ivf)的组合编译环境。
网上讲解调用方法语焉不详,以下是我自己探索的方式。
1.版本选择64Win7环境下,可行的一种搭配是visual studio 2012+ivf2013xe+matlab2013a,似乎可以将vs和ivf同时降2年,matlab如使用matlab2012等可能需要修改环境路径,百度。
Win8环境中则不可以使用vs2010(我尚未成功过0_0)。
2.安装次序先安装vs,再安装ivf,建议最后安装matlab。
如果没有其他需求,vs可以不安装除c++之外的可选功能,matlab也可以自选。
3.调用过程a)首先,通过开始栏的ivf来打开matlab,即:开始,intel parallel studio xe2013,command prompt,parallel ……XE,打开窗口命令,输入matlabb)Matlab中输入mex –setup,注意有空格。
给出编译器选择Please choose yourcompiler for building external interface (MEX) files: Would you like mex to locateinstalled compilers [y]/n?选择n,然后可以自选配置,如Select a compiler:[1] Borland C++Builder version 6.0[2] Borland C++Builder version 5.0[3] Borland C++Builder version 4.0[4] Borland C++Builder version 3.0……这里输入数字,选择ivf2013(with visual C++ 2012 linker)c)弹出如下选择:Your machine has a Digital Visual Fortran compiler located atC:\Program Files\……. Do you want to use this compiler [y]/n?选择n自行找到位置,方法是打开开始,intel parallel studio xe 2013,intelcompiler xe,using VS2012,右键之,打开文件位置,复制即得到地址。
MATLAB与FORTRAN共享数据的实现
徐屾;于波
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2001(000)006
【摘要】MATLAB具有强大的矩阵计算和绘图功能,而FORTRAN在大规模的数值计算上仍占有一定的优势.使用MATLAB强大的矩阵计算与绘图功能,或借用FORTRAN大规模的数值计算能力,在应用程序的开发或数值计算、分析中,我们就可以节省大量的时间与精力.
【总页数】3页(P78-80)
【作者】徐屾;于波
【作者单位】武汉大学动力机械工程学院,武汉,430072;武汉大学动力机械工程学院,武汉,430072
【正文语种】中文
【中图分类】TP3
【相关文献】
1.MatLab与Fortran混合编程实现结构优化和可靠性分析 [J], 赵秀丽;易平
2.Fortran与Matlab混合编程实现溴化锂水溶液的物性计算可视化 [J], 王书中;由世俊;孙贺江;李秋生
3.VC++调用Fortran及MATLAB程序混合编程实现 [J], 马清华;王明海
4.Matlab与Fortran混合编程之DLL实现方法 [J], 潘克家;汤井田;郑洲顺
paq Visual Fortran与Matlab混合编程实现小波域地震信号多尺度分析[J], 徐天吉;程冰洁
因版权原因,仅展示原文概要,查看原文内容请购买。
MAT LAB与F ORT RAN接口技术枣庄学院数学与信息科学系 赵晓艾[摘 要]介绍了动态链接函数库M EX文件,MAT文件及MAT LAB引擎的调用原理,利用MAT LAB和F ORT RAN接口技术实现F ORTRAN程序计算结果的可视化过程。
[关键词]MAT LAB F ORTRAN AP I MAT LAB是一种面向科学与工程计算的高级语言,凭借其强大的科学计算与可视化功能,简单易用的开放式可扩展环境,取得了在矩阵代数、数值计算、数字信号处理、动态仿真﹑神经网络控制等领域的广泛应用。
:它语言简洁,使用方便灵活,程序书写形式自由,图形功能强大。
MAT LAB扩充能力强,交互性好,有丰富的库函数,它包含了大量的MAT LAB与C/F ORTRAN语言之间的接口函数,在进行复杂数学运算时可以直接调用,这些接口函数是MAT LAB的一个非常重要的组成部分。
虽然MAT LAB是一个完全独立的编程和数据运算的集成环境,使用它可以方便地完成许多工作,但是,很多时候仅靠MAT LAB环境还是不能很好的完成任务,例如:MAT LAB中程序循环,其它语言编写的算法的移植要重新编写M文件等。
F ORT RAN语言是传统的数值处理语言,处理速度高,编程简便,其强大的数值计算能力和长期积累的大量的科学计算程序库及工程应用软件,始终占据着科学和工程计算领域的重要地位,有很多源代码资源可供使用,但它在图形功能方面有较大的不足。
MAT LAB提供的AP I(App licati on Pr ogra m I nterface)弥补了彼此的不足,它支持MAT LAB与外部数据和程序的交互。
MAT LAB接口包括:在MAT LAB环境中调用其它语言编写的程序和算法,通过M EX文件实现;MAT LAB与其它编程环境的数据交互,通过MAT文件实现;其它编程环境使用MAT LAB的计算绘图功能,通过MAT LAB计算引擎实现。
Matlab混合编程(清华BBS)一.matlab与vc混编1.通过mcc将matlab的m文件转化为cpp,c文件或dll供vc调用:这方面的实现推荐精华区Zosco和ljw总结的方法(x-6-1-4-3-1和2)vc的设置请参看精华区x-6-1-4-3-5,通过这种设置可以调用c math library和c++math library,C++ mathlib的pdf在精华区x-6-1-10里2.通过matlab的combuilder将m文件做成com组件,供vc调用参看精华区x-6-1-53.通过matcom:这个mathworks公司已经不在出新版本了,而且他的功能可能用第1和第2种方法代替推荐使用前两种方式,matcom的使用精华区有一部分,从x-6-1-4下找二.matlab与vb混编1.mathworks公司专为vb开发了一个com组件:matrixvb,里面有大量的数学函数.这个组件需要另装,请在安装盘上或网上下载,注册码参看精华区x-6-1-3-8装好这个组件后,他自带了两个pdf文件,用法及其能用的函数全在上面,推荐阅读这两个pdf文件,精华区的位置是x-6-1-4-62.通过matlab的combuilder将m文件做成com组件,供vb调用参看精华区x-6-1-5三.matlab与.net混编在6.1版本以前一直没有这方面的讨论,用mcc编成dll或cpp,c文件应该可以,由于.net调用com组件很方便,推荐使用通过matlab的combuilder将m文件做成com组件,供 .net调用,参看精华区x-6-1-5四.试试通过matlab的combuilder做成com组件的方式实现混编,这也是mathworks公司推荐的方法,他不受语言和编译器的局限,相信高版本的matlab将在这方面有更大的改进这方面的介绍参看精华区x-6-1-5五.其他的语言或编译器与matlab混编精华区x-6-1-4里有一些相关的介绍,不全,还请用过的大侠总结这方面的内容。
fortran与matlab混合编程实现溴化锂水溶液的物性计算可视化以溴化锂水溶液为工质的吸收式制冷既可利用蒸气,热水,燃气、燃油等能源,还可利用工业余热、废热、太阳能、地热能等低品味能源作为动力,同时工质对大气臭氧层无破坏作用,这些节能、环保方面独特的优势使得溴化锂吸收式制冷具有了广阔的市场和良好的发展前景。
随着溴化锂吸收式制冷机组在技术与应用上的不断发展,人们对机组的优化设计、变工况条件下最佳运行参数的动态调整和自动控制等方面提出了更高的要求,也越来越多地要求利用计算机进行设计和计算。
传统的这类计算都要借助于溴化锂水溶液的物性数据图表,从图表上查出或手算出有关物性参数和热力过程特性数据。
但是这种方法繁琐,费时,误差较大,已经远远不能满足现在的应用需求,为此,能不能找到一种可以动态绘图,自动捕捉状态点,鼠标实时显示状态点参数,并根据已知的的状态参数求其他未知的参数,根据用户需要直接绘制溴化锂吸收式制冷循环流程图的方法,已成了急需解决的问题。
基于此,本文尝试从满足以上几种功能出发,利用FORTRAN与Matlab混合编程,充分结合Fortran运算速度快,Matlab矩阵计算及图形处理功能强的优点,实现了溴化锂水溶液物性计算的可视化。
1 溴化锂水溶液物性计算可视化的基本思想使用过Fortran、C和C++等传统的高级语言进行编程的读者可能都知道,在对矩阵,运算尤其是复杂的绘图操作时,程序设计将是一件非常困难,又不能很好的实现预想效果的任务,Matlab(又称Matrix Labrotary)就是Mathworks 公司推出的最初用于解决该问题的以矩阵(Matrix)和阵列(Array)为基本编程单元的,拥有完整的控制语句、数据结构、函数编写与调用格式和输入输出功能的具有面向对象程序设计特征的高级程序语言,其强大的科学计算与可视化功能,简单易用的开放式可扩展环境以及30 多个面向不同领域而扩展的工具箱(TOOLBOX)支持,包括了通信系统、信号处理、图象处理、小波分析、鲁棒控制、系统辨识、非线性控制、模糊控制、神经网络、优化理论、样条、商用统计分析等大量现代技术学科的内容,使得MATLAB 在许多科学领域中成为计算机辅助设计与分析、算法研究和应用开发的基本工具和首选平台。