Fortran和matlab混合编程

合集下载

MATLAB与FORTRAN接口技术

MATLAB与FORTRAN接口技术
或程序子函数 。 ME X文件的使用极为方便, 只需在提 示符下键入 ME X 文件 名即可 ,与 M T AB 的 内建 函数 的调 用方式完全相 A L 同 , 当 执行 ME 文 件 时 ,M T AB 系 统 将 首先 搜 索 X A L A L B系统的所有可搜索路径 ( 过路径浏览器设置 ) M TA 通 ,
n e e l sn h i tg rn h , r s
0 引言
MA L T AB 是一种面 向科学与工程计算 的高级语言 ,凭 借其强大的科 学计 算与可视 化功能, 简单易用的开放式可扩 展环境,取得了在矩 阵代数 、数 值计算、数 字信号处理、动 态仿真 、神经 网络控制等领 域的广泛应用 。: 言简洁 , 它语 使 用 方 便 灵 活 , 程 序 书 写 形 式 自由 , 图 形 功 能 强 大 。 MA L T AB 扩充能力强,交互性好 ,有丰富的库函数 ,它包 含了大量 的 MA L T AB 与 CF R R /O T AN 语言之间的接 口函 数, 在进行复杂数学运算 时可以直接 调用 ,这些接 口函数是 MA L T AB 的一个非常重要 的组成部分 。虽然 MA L T AB 是 个 完全独立 的编程和数据运算 的集成环境 , 使用它可以方 便地 完成许 多工作 ,但是 ,很多 时候仅靠 MA L T AB环境 还 是不能很 好的完成任 务,例 如:MA AL 中程 序循 环,其 T B 它语言编写 的算法 的移植要重新编写 M 文件 等。 FRR O T AN 语言是传统的数值处理语言,处理速度高, 编程简便 , 其强大的数值 计算 能力和长 期积 累的大量 的科 学 计算程序库及工程应用软件 , 始终 占据 着科 学和 工程 计算 领 域 的重要地位 , 有很 多源代码资源可供使用 , 它在 图形功 但 能方而有较大 的不足 。

Compaq Visual Fortran与Matlab混合编程实现小波域地震信号多尺度分析

Compaq Visual Fortran与Matlab混合编程实现小波域地震信号多尺度分析

体中, 尺度参数越 大, 频率衰减则更加 突出, 最佳的尺度参数能为油气预测提供重要 的参考信息。 该方法已在川西坳陷深层须家河组新场地区含 气性检测 中推广试 用, 所获得 的异常 区段与 多口
测 井含 气段 吻合 良好 。 关键 词 :C m a i a F r a ; t b o p qV s l ot n Ma a ;混合 编程 ;小波理 论 ;地震信 号 ;多尺度 分析 u r l
基金 项 目: 中石化科研项 目资助 (' 03 ; 1 5 0 ) 中石化 西南分公 司科研 项 目( J 5 00 ) : 0 G 一 4— 6 5
收 稿 日期 :2 0 0 07— 8—1 7 改 回 日期 :2 o 0 7—1 — 3 1 2
维普资讯
度分析 , 提取体现地质体频率属性的最佳尺度参数。运 用 Cm a i a Fra o pqVs l o r u t n卓越的计算功
能 完成 较 大数据 文件 的读取 , 调 用 Maa 再 tb中丰 富的 小 波 函数 及 其 它数 学 函数 库 , l 实现 地震 信 号 的各类计 算 , 可有 效地 减轻程 序 编写 的难度 , 高工作 效率 , 短研 究周 期 。在含 油 气的 地质 提 缩
数库 , 可靠性好 、 功能强大、 使用方便。 目前 , a Mt — l a 言 已在 科 学计 算 、 障检 测 、 信 工 程 、 b语 故 通 电力 电气 、 自动 控 制 、 物 、 象 、 文 、 生 气 天 医学 仪 器 与 论 断、 地球物理计算与仪器等方面获得 了广泛应用。 但是 , Fra 与 ot n等高 级语 言相 比 , r 由于 Maa 语 言 t l b 是一种解释性语言 , 在涉及循环、 迭代等 大量 的计 算方面就稍逊一筹 , 效率偏低 了。而 Fra or t n语言 是全世界通用的第一个计算机高级程序设计语言 ,

第15章MATLAB与其他编程语言结合

第15章MATLAB与其他编程语言结合

第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语言的库中有用来读和写二进制文件的程序。

matlab和fortran混合编程

matlab和fortran混合编程

matlab和fortran混合编程matlab2016b+vs2010+ivf2013+f90其实默认是f77语法,但通过配置可以改变为⾃由格式。

默认只能f77代码,怎样修改:找到:mex_FORTRAN_win64,删掉fixed就可以⽤f90了。

⼤体过程:1.在matlab中配置fortran编译环境: mex -setup FORTRAN2.写好源代码,⾃定义⼦函数仍可以像往常⼀样调⽤别的⼦函数3.将matlab当前路径调整到当前源代码⽂档所在路径4.在matlab命令⾏输⼊编译命令:mex csuherror.f905.像使⽤matlab内置函数⼀样使⽤此函数,error=csuherror(X),其中X为csuh的9个参数(包括C),输出的为计算误差6.若需要调试,需要这样编译:mex -g csuherror.f90 ,之后通过vs附加matlab到进程,并打开源代码加断点,在matlab运⾏时就可以调试了,具体请参考帮助⽂档。

下⾯是⼀个例⼦:先写fortran代码:传⼊⼀个数组和⼀个数字,输出⼀个数组Add.f90 ,注意此⽂档名为将来matlab调⽤的函数名,调⽤函数名时与其内的⼦函数名称Add⽆关。

1 #include "fintrf.h" !必须有的头⽂件,⾥⾯有mxGetPr, mxGetM, mxGetN,mxCreateDoubleMatrix等函数的申明 /post/1d001431_ab72071234 subroutine mexFunction(OutSum,OutVar,InSum,InVar)!函数接⼝名称必须为mexFunction,567 !OutSum:输出参数个数8910 !OutVar:输出参数数组指针111213 !InSum:输⼊参数个数141516 !InVar:输⼊参数数组指针171819 !参数顺序不能随意更改20 Integer InSum,OutSum212223 mwPointer InVar(*),OutVar(*) !mwPointer专门⽤于表⽰指针变量,这个不能随意⽤Integer代替2426 mwPointer mxGetPr, mxGetM, mxGetN,mxCreateDoubleMatrix !这个对返回指针函数的再次申明,27 integer, parameter :: fp = selected_real_kind(15,300)28 Integer , parameter :: myINT = SELECTED_INT_KIND( 8 )293031 Real(fp),Allocatable::x(:,:),y(:,:)32 real(fp)::z333435 Integer m,n363738394041 If(InSum/=2)Then424344 call mexErrMsgIdAndTxt('MATLAB:InputTooBig','输⼊参数个数必须为2个')454647 Return484950 EndIf515253545556 m=mxGetM(InVar(1))!获取第1个输⼊参数的⾏数575859 n=mxGetN(InVar(1))!获取第1个输⼊参数的列数606162 Allocate(x(m,n),y(m,n))636465 Call mxCopyPtrToReal8(mxGetPr(InVar(1)),x,m*n)!将第1个参数数组赋值给x变量666768 Call mxCopyPtrToReal8(mxGetPr(InVar(2)),z,1)!将第2个整数变量赋值给z6970717273 Call Add(x,y,z,m,n)!调⽤内部函数747576777879 OutVar(1)=mxCreateDoubleMatrix(m,n,0)!给返回参数分配内存808182 Call mxCopyReal8ToPtr(y,mxGetPr(OutVar(1)),m*n)!将返回参数赋值给分配的内存838485868788 DeAllocate(x,y)!释放临时分配的内存899091 Return929394 End SubRoutine9596979899 ! SubRoutine Add(x,y,z,m,n)100 !101 ! Integer,Intent(In)::m,n102 ! integer, parameter :: fp = selected_real_kind(15,300)103 !104 ! Real(fp),Intent(In)::x(m,n),z105 !106 ! Real(fp),Intent(Out)::y(m,n)107 !108 ! Integer i,j109 !110 ! Do i=1,m111 !112 ! Do j=1,n113 !114 ! y(i,j)=x(i,j)+z115 !116 ! EndDo117 !118 ! EndDo119 !120 ! Return121 !122 !End SubRoutine124 SubRoutine Add(x,y,z,m,n)125126127 Integer,Intent(In)::m,n128 integer, parameter :: fp = selected_real_kind(15,300)129130131 Real(fp),Intent(In)::x(m,n),z132133134 Real(fp),Intent(Out)::y(m,n)135136137 Integer i,j138139140 Do i=1,m141142143 Do j=1,n144145146 y(i,j)=x(i,j)+z147148149 EndDo150151152 EndDo153154155 Return156157158 End SubRoutine将matlab当前路径改为Add.f90同⽬录路径,然后: mex Add.f90 ,之后会⽣成Add.mex64在matlab命令⾏窗⼝输⼊:x=[1 2 3];a=2;y=Add(x,a)---我把Add.f90改为multiple.f90的话:效果⼀样。

MATLAB与FORTRAN接口技术

MATLAB与FORTRAN接口技术

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调用fortran程序

matlab调用fortran程序

mat I ab-CAL-FENGHAI-(2020YEAR-YICAI)」INGBIAN1,在mat lab 命令窗「1输入 mex - setup :Vould you like mex to locate ins tailed compilers [y]/n? 选择n [0] None 选择8Use C:\Program Files (x86)\Intel\CojfLposerXE-2011 anyway [y]/n?选择nPlease enter the location of your compiler: [C:\Program Files (x86)\Intel\ComposerXE-2011] 输入正确的路径:"C:\Program F 订es (x86) \Intel\Composer XE 2013"(按 住shift 再邮件赋值路径) Are these correct [y]/n?选择yTrying to update options file: C:\(Jser3\hu\AppData\Roaning NathWorks\MAlLAB\R2012b\mexopts ・batFrom tempi at e:C:\PROGRA~1 \MATLAB\XATLAB "1 'R2D12b\bin\vin64\mexopt sXintelf12nsvs2010opts. batDone ・・・ 成功2>将编写好的fortran 程序放在当前mat lab I 作目录下,如,在mat lab 命 令窗口输入:mex ,会在当前目录下生成相应的.mexw64文件B fw.f90一 fw.mexw643,调用函数:x=rand(10, 1) ;y=fw(x) Select a compiler:C++[1] ⑵ [3] ⑷ [5] ⑹ [7] [8] ⑼ [10] [11] [12] [13] [14] Intel Intel Intel Intel IntelIntel Intel Intel C++ C++ C++ 12.0 12.0 12. 0 11. 1 Visual Visual Visual Visual Visual (with Microsoft (with Microsoft(with Microsoft(with MicrosoftFortran Fortran FortranFortran Fortran Software Developjnent Kit (SDK) linker) Visual C++ 2008 SP1 Ixnlcer) Visual C++ 2010 linker) Visual C 卄 2008 SP1 Linger) 12 (with Microsoft Soft 谚企丫己 (with Microsoft (with Microsoft (with Microsoft (with Microsoft 12.0 12.0 Visual Visual Visual Development Kit (SDK) linker) C++ 2008 C++ 200S 2010 SP1 linker)Shell linker) linker) SP1 linker) Intel Intel Visual Fortran 11.1 (vith Microsoft Visual C++ 2008 Shell linker) Software Development Kit (SDK) 7. 1Visual Microsoft Microsoft Microsoft Microsoft 11. 1 CH 2005 SP1Visual 2003 Visual Visual 2008 SP12010。

fortran与matlab混合编程实现溴化锂水溶液的物性计算可视化

fortran与matlab混合编程实现溴化锂水溶液的物性计算可视化

fortran与matlab混合编程实现溴化锂水溶液的物性计算可视化以溴化锂水溶液为工质的吸收式制冷既可利用蒸气,热水,燃气、燃油等能源,还可利用工业余热、废热、太阳能、地热能等低品味能源作为动力,同时工质对大气臭氧层无破坏作用,这些节能、环保方面独特的优势使得溴化锂吸收式制冷具有了广阔的市场和良好的发展前景。

随着溴化锂吸收式制冷机组在技术与应用上的不断发展,人们对机组的优化设计、变工况条件下最佳运行参数的动态调整和自动控制等方面提出了更高的要求,也越来越多地要求利用计算机进行设计和计算。

传统的这类计算都要借助于溴化锂水溶液的物性数据图表,从图表上查出或手算出有关物性参数和热力过程特性数据。

但是这种方法繁琐,费时,误差较大,已经远远不能满足现在的应用需求,为此,能不能找到一种可以动态绘图,自动捕捉状态点,鼠标实时显示状态点参数,并根据已知的的状态参数求其他未知的参数,根据用户需要直接绘制溴化锂吸收式制冷循环流程图的方法,已成了急需解决的问题。

基于此,本文尝试从满足以上几种功能出发,利用FORTRAN与Matlab混合编程,充分结合Fortran运算速度快,Matlab矩阵计算及图形处理功能强的优点,实现了溴化锂水溶液物性计算的可视化。

1 溴化锂水溶液物性计算可视化的基本思想使用过Fortran、C和C++等传统的高级语言进行编程的读者可能都知道,在对矩阵,运算尤其是复杂的绘图操作时,程序设计将是一件非常困难,又不能很好的实现预想效果的任务,Matlab(又称Matrix Labrotary)就是Mathworks 公司推出的最初用于解决该问题的以矩阵(Matrix)和阵列(Array)为基本编程单元的,拥有完整的控制语句、数据结构、函数编写与调用格式和输入输出功能的具有面向对象程序设计特征的高级程序语言,其强大的科学计算与可视化功能,简单易用的开放式可扩展环境以及30 多个面向不同领域而扩展的工具箱(TOOLBOX)支持,包括了通信系统、信号处理、图象处理、小波分析、鲁棒控制、系统辨识、非线性控制、模糊控制、神经网络、优化理论、样条、商用统计分析等大量现代技术学科的内容,使得MATLAB 在许多科学领域中成为计算机辅助设计与分析、算法研究和应用开发的基本工具和首选平台。

Fortran和Matlab混合编程简介

Fortran和Matlab混合编程简介
Fortran和Matlab 混合编程简介
陆华剑 2003年7月23日
内容
一 Fortan和Matlab优缺点比较
二 Fortran和Matlab混合编程的两种基本方式 (1)Fortran和Matlab编程比较 (2)Fortran调用Matlab命令 (3)Matlab调用Fortran程序 三 参考资料
一 Fortan和Matlab优缺点比较
(从数值计算角度) 程序 优点 缺点 计算结果不能直 接可视化
Fortran
计算速度快
语言简洁,函数 丰富,调试容易, Matlab 计算结果可以方 便地实现可视化
计算速度慢
Fortran+Matlab
优点
.计算速度快 (Fortran) .计算结果可视化 (Matlab)
二Fortran和Matlab混合编程的两种基本方式 (1)Fortran和Matlab编程比较 (2)Fortran调用Matlab命令 (3)Matlab调用Fortran程序 三参考资料
三 参考资料
1)《Fortran95程序设计》 彭国伦 编著, 中国电力出版社 2)《matlab 5.x入门与提高》 龚剑 朱亮 编著,清华大学出版社 3)Matlab联机帮助文件
Fortran Engine Functions
integer*4 function engOpen(startcmd) integer*4 ep character*(*) startcmd integer*4 function engClose(ep) integer*4 ep integer*4 function engPutVariable(ep, mp) integer*4 ep, mp integer*4 function engGetVariable(ep, name) integer*4 ep character*(*) nam integer*4 function engEvalString(ep, command) integer*4 ep

基于Fortran和Matlab混合编程的EAST零场计算可视化

基于Fortran和Matlab混合编程的EAST零场计算可视化

基于Fortran和Matlab混合编程的EAST零场计算可视化罗正平;江纯伟
【期刊名称】《合肥学院学报(自然科学版)》
【年(卷),期】2007(017)003
【摘要】EAST全超导托卡马克零场区优化是成功进行等离子体放电的基础,快速计算显示优化后的零场分布十分重要.基于Fortran和Matlab混合编程,通过Fortran和Matlab接口函数,在Matlab中成功实现对Fortran程序的调用.将Fortran的快速计算与Matlab可视化结合起来,实现了EAST零场计算可视化.【总页数】4页(P22-25)
【作者】罗正平;江纯伟
【作者单位】合肥工业大学,理学院,合肥,230009;东华大学,理学院,上海,201600【正文语种】中文
【中图分类】TP314
【相关文献】
1.Fortran与Matlab混合编程在水力计算中的应用 [J], 王成;李健
2.Fortran与Matlab混合编程实现溴化锂水溶液的物性计算可视化 [J], 王书中;由世俊;孙贺江;李秋生
3.基于VB和Fortran语言混合编程的滑动轴承性能分析的可视化研究 [J], 崔晓康;吴超;吴溢华;李立伟;吴兰锋
4.基于Matlab与Fortran混合编程的一维fCSEM正演可视化 [J], 柳建新;籍炜;
刘颖;童孝忠;刘文劼
5.混合编程与Fortran计算程序可视化 [J], 张志华;王林江;吕庆风
因版权原因,仅展示原文概要,查看原文内容请购买。

matlabfastsim fortran_轮轨关系 -回复

matlabfastsim fortran_轮轨关系 -回复

matlabfastsim fortran_轮轨关系-回复这个主题涉及到两个方面:MATLABFASTSIM和FORTRAN的轮轨关系。

我们将逐步回答它们的相关问题。

第一步:MATLABFASTSIM是什么?MATLABFASTSIM是MATLAB软件中的一个工具包,用于快速模拟动力系统的行为。

它提供了一组函数,可以帮助用户构建模型、运行模拟和分析结果。

使用MATLABFASTSIM,用户可以轻松地实现各种动力学模型,包括机械、电气和液压系统等。

第二步:FORTRAN是什么?FORTRAN(公式翻译)是一种广泛使用的编程语言,是历史最悠久的高级编程语言之一。

它最初是为科学和工程应用程序设计而开发的,被广泛用于计算机模拟和科学计算。

FORTRAN拥有强大的数值计算功能,可用于解决各种复杂的数学问题。

第三步:轮轨关系的概念是什么?轮轨关系是研究汽车、火车等交通工具行驶在轨道上的运动规律的学科。

它涉及到轮子与轨道之间的物理关系,以及车轮在运动中所受到的各种影响。

因为轮轨关系对于交通运输系统的稳定和安全至关重要,因此研究人员一直致力于深入理解轮轨关系及其影响因素。

第四步:MATLABFASTSIM如何与FORTRAN的轮轨关系相关?尽管MATLABFASTSIM在MATLAB软件中提供了强大的模拟功能,但可以结合FORTRAN来进一步研究轮轨关系。

FORTRAN的数值计算能力可以帮助我们处理轮轨关系的数学模型,并进行更精确的模拟。

使用MATLABFASTSIM和FORTRAN的组合,我们可以通过以下步骤来研究轮轨关系:1. 定义轮轨模型:首先,使用FORTRAN编写数学模型来描述轮轨关系。

这个模型可以包括车轮和轨道的基本参数,如曲率、摩擦系数等。

2. 使用MATLABFASTSIM进行模拟:接下来,使用MATLABFASTSIM 中的函数来构建轮轨模型,并设置初始条件。

这些函数可以帮助我们模拟不同的载荷、速度和路面条件下的车轮运动。

FORTRAN调用MATLAB

FORTRAN调用MATLAB
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1。上面提到的无法定位程序输入点 的错误。
因为我是用的matlab自带的一个例程,出现这个错误肯定是自己系统的问题。不知道别人有没有遇到过。在这里发问,没遇到这样错误,解决的办法就是把提到的那个dll文件名前加_,如libeng.dll改为_libeng.dll,照这样按照出错提示把c:\winnt\system32中的libeng.dll、libmx.dll、libut.dll都改了一遍,再编译运行,搞定。
integer mxGetPr
integer ep,EC,IC,LC
integer status
write(*,*)ElementCod,InquireCod,LocalCod
ep=engOpen('matlab') !打开Matlab引擎
if (ep.eq.0) then
write(6,*)'Can''t start MATLAB engine'
stop
endif
EC=mxCreateDoubleMatrix(1,16,0) !建立mxArray
call mxCopyReal8ToPtr(ElementCod,mxGetPr(EC),16)

matlab调用fortran 生成的dll文件

matlab调用fortran 生成的dll文件

混合编程之Matlab 调用Fortran1.测试平台Window 10 64位系统Matlab 2017a 64位Simply Fortran v2.42.Matlab 调用Fortran 之DLL实现2.1.生成DLL文件步骤1:在Simply Fortran v2.4上,新建一个Shared Library(DLL)项目,项目名随意。

步骤2:由于在64位的Matlab上调用DLL,因此我们须将项目的DLL文件也生成为64位,否则Matlab将会提示错误“不是有效的Win32应用程序” 。

注意Target Name的dll文件名须符合为Matlab变量命名法则。

另外,数值之间的传递须有相同的数值类型,否则将会运行出错。

这里先提一句,我们生成的DLL文件可被调用,一般按C调用约定,因此,Fortran的数值类型须与C的数值类型匹配。

在Fortran中常用的数据参数类型有:REAL:表示浮点数据类型,即小数,等价于C的float;INTEGER:表示整数类型,相当于C的int数据类型;DOUBLE PRECISION:表示双精度数据类型,相当于C的double数据类型。

在本例中,我们均采用double数据类型,为了方便,可如下设置:步骤3:书写DLL代码subroutine test(c,a,b)!输出变量必须位于输入变量之前,即c须位于a,b之前,否则在后续Matlab 调用中会错误(笔者认为仅与伪注释!DEC$ A TTRIBUTES REFERENCE有关)!DEC$ A TTRIBUTES C,DLLEXPORT::test!DEC$ A TTRIBUTES REFERENCE ::c !返回值,传地址!上一行伪注释语句说明的是test_f.dll文件中包含一个名为test的子例行程序,C即为按C调用约定输出real::a,b,cc=a+bend subroutine步骤4:生成DLL直接Build project,即可生成test_f.dll文件。

Matlab和Fortran的混合编程

Matlab和Fortran的混合编程
!程序段 2 X_temp=X P_temp=P J_temp=J JO_temp=JO rhs(1)=mxCreateFull(1,15,0) rhs(2)=mxCreateFull(1,20,0) rhs(3)=mxCreateFull(1,1,0) rhs(4)=mxCreateFull(1,1,0)
MexFunction 的作用分为两部分,将 Matlab 环境传入的参数转化为目标语言 的数据结构;调用目标语言的算法程序,并将返回值转化为 MxArray 数据,并 返回给 Matlab 环境。
Interface Fuction 是普通的目标语言函数格式,但是他的作用是如下两部分: 将目标语言的数据结构转化为 MxArray 数据;调用 Matlab 环境的算法程序,并 将返回值转化为目标语言的数据结构数据,并返回给计算程序。
Matlab 和 Fortran 的混合编程
1 概述 Matlab 的复数矩阵运算、符号运算、数据后处理等特点构成一个强大的数值
计算平台的基础。此外,巨大的并还在不断增加的数据分析算法库和各种应用工 具箱,扩展了该平台,开放的混合编程支持使其可以充分利用各种;从使用的角 度看,Matlab 语言考虑了工程应用的需要,融合了面向对象、函数式、动态语言 等的特点,编程十分简单,其交互界面友善,因此利用 Matlab 可以极其方便的 构建数字实验室。
类为转化后的变量,第三类为中间临时变量; 程序段 2 为参数有效性校核,当 Matlab 环境传入的参数不合法时,给出异
常,提高系统的稳定性; 程序段 3 将 Matlab 环境传入的 MxArray 变量转化为 Fortran 数据格式; 程序段 4 调用目标函数; 程序段 5 将目标函数生成的结果转化为 MxArray 数据结构,并返回给 Matlab

FORTRAN, VC++,VB, DELPHI与MATLAB接口技术方法综述

FORTRAN, VC++,VB, DELPHI与MATLAB接口技术方法综述

FORTRAN, VC++,VB, DELPHI与MATLAB接口技术方法综述摘要:面向对象的可视化编程工具FORTRAN,VC++,VB, DELPHI使用广泛,而MATLAB计算机绘图功能强大,它们之间的接口技术使之进行相互融合,从而更好地体现各自的优越性。

关键词: MATLAB,VC++,VB,FORTRAN,DELPHI,接口技术,混合编程中图分类号:TP311 文献标识码:AThe Review of interfacing technol ogy between FORTRAN,VC++,VB,DELPHI and MATLABAbstract: FORTRAN is one of the most popular visual programming tools at present. The same as FORTRAN ,VC++,VB and DELPHI are other three Kinds of the most excellent programming languages, while MATLAB has powerful functions in calculating and drawing. The interfacing technology which combining MATLAB with FORTRAN ,VC++,VB and DELPHI, respectively bring out the best of their own advantagesKeywords :MATLAB,FORTRAN,VC++,VB,DELPHI,Interface technology,Mixed ProgrammingMATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

Fortran与Matlab混合编程实现溴化锂水溶液的物性计算可视化

Fortran与Matlab混合编程实现溴化锂水溶液的物性计算可视化

Fortran与Matlab混合编程实现溴化锂水溶液的物性计算
可视化
王书中;由世俊;孙贺江;李秋生
【期刊名称】《流体机械》
【年(卷),期】2004(032)001
【摘要】简要介绍了Fortran 与Matlab混合编程的基本原理,通过Fortran与Matlab的接口函数,实现了Matlab对Fortran函数的直接调用,并以溴化锂水溶液物性程序为基础,利用Matlab强大的矩阵计算及图形绘制与编辑功能,实现了溴化锂水溶液物性计算的可视化,为进行溴化锂吸收式制冷的热力计算及分析提供了方便、快捷的图形计算工具.
【总页数】3页(P59-61)
【作者】王书中;由世俊;孙贺江;李秋生
【作者单位】天津大学,天津,300072;天津大学,天津,300072;天津大学,天
津,300072;天津大学,天津,300072
【正文语种】中文
【中图分类】TB64;TP39
【相关文献】
1.VB与Matlab混合编程实现溴化锂溶液物性数据的可视化计算 [J], 张光焱
2.MatLab与Fortran混合编程实现结构优化和可靠性分析 [J], 赵秀丽;易平
3.溴化锂水溶液热物性计算可视化程序 [J], 王磊;陆震
4.基于Fortran和Matlab混合编程的EAST零场计算可视化 [J], 罗正平;江纯伟
paq Visual Fortran与Matlab混合编程实现小波域地震信号多尺度分析[J], 徐天吉;程冰洁
因版权原因,仅展示原文概要,查看原文内容请购买。

FORTRAN调用MATLAB画图

FORTRAN调用MATLAB画图

注意:在64位的机器里可能要将 engOpen,mxCreateDoubleMatrix,mx GetPr这些返回指针的函数以及ep,T 这些指针声明成integer*8

FORTRAN调用MATLAB画图
308工作室荣誉出品 308工作室荣誉出品
Version1.0 07/10/08
调用MATLAB引擎的常用函数 引擎的常用函数 调用
engOpen 打开matlab引擎 engClose 关闭matlab引擎 mxCreateDoubleMatrix 创建双精度数组 mxCopyReal8ToPtr 给新创建的数组赋值 mxGetPr 返回数组的实部 engPutVariable 将新创建数组植入matlab引擎 engEvalString 向matlab传达命令 engGetVariable 返回matlab中某数组的指针 mxCopyPtrToReal8 得到matlab中某数组的值
fortran调用matlab画图308工作室荣誉出品version10071008engopen打开matlab引擎engclose关闭matlab引擎mxcreatedoublematrix创建双精度数组mxcopyreal8toptr给新创建的数组赋值mxgetpr返回数组的实部engputvariable将新创建数组植入matlab引擎engevalstring向matlab传达命令enggetvariable返回matlab中某数组的指针mxcopyptrtoreal8得到matlab中某数组的值matlab注意
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档