MATLAB与FORTRAN混合编程接口程序技术的研究
Matlab与其他语言和软件的接口问题
Matlab与其他语言和软件的接口问题>******************************************************************** ****<=================================== - [返回]1).如何在Matlab中读取Excel的xls数据文件?:#FangQ(Qianqian.Fang@), 2002/6/22. BigGreen/MathTools#使用xlsread()函数,或者使用excel的ActiveX接口来进行更复杂的操作,参见:/support/solutions/data/25179.shtml=================================== - [返回]2).如何在Excel中嵌入Matlab?:#FangQ(Qianqian.Fang@), 2002/6/22.BigGreen/MathTools#如果你的Matlab安装有ExcelLink,它可以实现Excel与Matlab直接的数据交换,可以在Excel中直接调用matlab的函数,进行绘图或者数据处理。
不过如果没有安装ExcelLink,你仍然可以使用Matlab的ActiveX接口来调用matlab,下面是一个Excel宏函数,作为例子:#BrettShoelson(bshoelson@),2001/11/01,comp.soft-sys.matlab#Sub CallMatlab()' Dimension variablesDim MatLab As ObjectDim ResultDim Invals(3, 4) As DoubleDim MImag() As DoubleDim i, j As Integer' Invoke MatlabSet MatLab = CreateObject("Matlab.Application")' Read Invals from current spreadsheet' (Assume Invals stored in B3:E5)For i = 0 To 2For j = 0 To 3Invals(i, j) = ActiveSheet.Range(Cells(i+3,j+2),Cells(i+3,j+2)).ValueNext jNext i' Send Invals to MatlabCall MatLab.PutFullMatrix("a", "base", Invals, MImag)' Send instructions to MatlabResult = MatLab.Execute("b=a.^2;")' Retrieve ResultCall MatLab.GetFullMatrix("b", "base", Invals, MImag)' Store Result in B8:E10ActiveSheet.Range("B8:E10").Value = InvalsEnd Sub=================================== - [返回]3).mcc,mex,mbuild都是作什么用的?:#FangQ(Qianqian.Fang@), 2002/6/22.BigGreen/MathTools#这个问题我一直都不是很清楚,看过compiler的PDF帮助之后,知道个大概,也不知道说得对不对:mcc(生成c/cpp文件)-----m--mex------ mex/dll|---x--mbuild-----C/C++ compiler----独立执行的程序mex文件是一种编译后的动态连接文件,需要在matlab中执行,优点是执行速度比m文件快,而且如果你不想提供m文件源码,可以使用编译后的mex/dll文件。
Matlab与+Fortran语言混合编程的接口技术
}黾瑟露翼兰禹窖尖鎏据地址并放在指针,—pr中
v pr=rIlxCetPdprhsf211
C读取第一个输出数据地址并放在指针z-pr中 rF转第17儿页)
牧稿日期.2007—08—30 作者简介:彭玉珊(1977一).新疆石河子市人.讲j币,礓士学位,主要从事:计算机技术应甩,鲁计电算化;任向河(1976一),山末临邑凡,中科院 上海光学精密机械研究所工作.博士,主要从事:计算物理。
TehlrIl
end
。
C FORTRAN内部子程序
F1111ctlon“x,y)
jmDllcit none
Ieal(kind=8)x,y,f
f≈+v。’
retum
eⅡd
3 FORTRAN ME×文件执行
把上面的接口程序存成mv如nction.f到MATLAB的work的
文件里。在MAⅡAB命令窗口运行
niqlleKbeeytwwoeredns:dl&e彻t;woMapdarbo;鲫imIlmo群dk缸c七sehc口h工wlni.que;II】扭工lg pro鲈咄e
MATLAB是当今流行的科学计算软件.专门以矩阵的形式处 理数据.它把数值计算和可视化环境集成到一起.许多用户在使 用时希望能够直接调用过去的FORTRAN经典计算程序。虽然 MAⅡAB没有现成的接口程序.但其提供的标准AH工具.使用 户能够根据需要来编写接口程序.完成MAlL^B与其它外部程 序的通讯。下面本文就以具体实例来说明如何编写完整的MAT. LAB与F0ⅣmAN的接口程序。
万方数据
本栏目责任编辑:李桂瑾
像:图像fcl是利用基于bior2.4单小渡变换得到的融合阳像;图像 (d)和fel是基于多小渡变换得到的融合图像,分别选用CL和CHM 多小渡进行变换:图像m是利用CL多小波变换得到的融台图像? 低频的融台算子采用像素平均。
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。
在MATLAB中调用VISUAL FORTRAN程序的实现
在MATLAB中调用VISUAL FORTRAN程序的实现
陈元莉
【期刊名称】《西华师范大学学报(自然科学版)》
【年(卷),期】2002(023)001
【摘要】在使用MATLAB语言的过程中,有些用户希望在MATLAB中直接运用一些过去编写的经典而高效的FORTRAN程序,而MATLAB本身并未提供与FORTRAN的接口,这就需要用户编写有关的接口程序.本文阐述了在MATLAB中如何调用VISUAL FORTRAN程序,通过MATLAB对FORTRAN MEX文件的调用实例,叙述了在MATLAB中调用VISUAL FORTRAN程序的原理和实现过程.【总页数】5页(P61-65)
【作者】陈元莉
【作者单位】四川师范学院物理系,四川,南充,637002
【正文语种】中文
【中图分类】TP311.54
【相关文献】
1.VB、VC++、Visual FORTRAN程序对MATLAB的调用 [J], 周明莹
2.VC++调用Fortran及MATLAB程序混合编程实现 [J], 马清华;王明海
3.FORTRAN程序调用MATLAB引擎实现计算可视化 [J], 聂万胜;庄逢辰;黄玲;邹勤
4.DLL在Visual Basic程序调用MATLAB库函数中的应用 [J], 李小文;屠宇;梁慧
冰
5.在Visual Basic程序中调用Fortran动态链接库的方法 [J], 鲜飞军;杨合
因版权原因,仅展示原文概要,查看原文内容请购买。
fortran与matlab混合编程实现溴化锂水溶液的物性计算可视化
fortran与matlab混合编程实现溴化锂水溶液的物性计算可视化以溴化锂水溶液为工质的吸收式制冷既可利用蒸气,热水,燃气、燃油等能源,还可利用工业余热、废热、太阳能、地热能等低品味能源作为动力,同时工质对大气臭氧层无破坏作用,这些节能、环保方面独特的优势使得溴化锂吸收式制冷具有了广阔的市场和良好的发展前景。
随着溴化锂吸收式制冷机组在技术与应用上的不断发展,人们对机组的优化设计、变工况条件下最佳运行参数的动态调整和自动控制等方面提出了更高的要求,也越来越多地要求利用计算机进行设计和计算。
传统的这类计算都要借助于溴化锂水溶液的物性数据图表,从图表上查出或手算出有关物性参数和热力过程特性数据。
但是这种方法繁琐,费时,误差较大,已经远远不能满足现在的应用需求,为此,能不能找到一种可以动态绘图,自动捕捉状态点,鼠标实时显示状态点参数,并根据已知的的状态参数求其他未知的参数,根据用户需要直接绘制溴化锂吸收式制冷循环流程图的方法,已成了急需解决的问题。
基于此,本文尝试从满足以上几种功能出发,利用FORTRAN与Matlab混合编程,充分结合Fortran运算速度快,Matlab矩阵计算及图形处理功能强的优点,实现了溴化锂水溶液物性计算的可视化。
1 溴化锂水溶液物性计算可视化的基本思想使用过Fortran、C和C++等传统的高级语言进行编程的读者可能都知道,在对矩阵,运算尤其是复杂的绘图操作时,程序设计将是一件非常困难,又不能很好的实现预想效果的任务,Matlab(又称Matrix Labrotary)就是Mathworks 公司推出的最初用于解决该问题的以矩阵(Matrix)和阵列(Array)为基本编程单元的,拥有完整的控制语句、数据结构、函数编写与调用格式和输入输出功能的具有面向对象程序设计特征的高级程序语言,其强大的科学计算与可视化功能,简单易用的开放式可扩展环境以及30 多个面向不同领域而扩展的工具箱(TOOLBOX)支持,包括了通信系统、信号处理、图象处理、小波分析、鲁棒控制、系统辨识、非线性控制、模糊控制、神经网络、优化理论、样条、商用统计分析等大量现代技术学科的内容,使得MATLAB 在许多科学领域中成为计算机辅助设计与分析、算法研究和应用开发的基本工具和首选平台。
MATLAB与FORTRAN程序的混合编程研究
址, 读取相应内容。当使用库函数 ./567,0 获得 "#$%#& 中数组的数据指针后,要考虑两种情 况:一种是在 ’()$)#*88 及其以前的标准中, 必 须 使 用 ./9:;2,70$:)61<= 和 ./9:;2)64 1<=$:,70 函数来处理该指针:另一种是在 ’()4 $)#* >? 的标准中,可以通过 @ A1< 直接使用数 据。图 B 是 "CD 文件的执行流程图。
表! 名称 WIR&B1LM031 WIR6ZDE5MC01K WIRTDEEWDMEDS WIR6CC!5K#RM WIR[IMWDMC0R WIR8BMWDMC0R 编写 "#$ 文件所用到的常用函数 功能简介 定义 WIR 文件的接口函数 执行 !"#$"% 中的命令 调用 !"#$"% 指令、 ! 文件等 输出报错信息 复制一个 WR"CCDJ 结构体 输出一个 WD"CCDJ 结构体
Y T Z 刘志俭 O G"HI"! 应用程序接口用户指南 Y G Z O 北京: 科学出版社, SBBBO Y S Z 许 波 O G"HI"! 工程数学应用 Y G Z O 北京: 清华大学 出版社, SBBBO
@ A ] X
!"# $%&#’ ()*+),$%-+ .*) /0!102 ,-’ 345!506 ()*+),$
+ ’()$)#* 语言 "CD 文件的例子
fortran调用matlab
Fortran调用matlab,在这里实现,是通过系统调用了matlab程序,matlab程序运行了一个model模块。
具体示例操作如下:说明:实例用的是CVF+matlab7.1 不过相信都是一样的,因为代码跟编译器无关。
该实例来自网络,程序内容是用fortran自动生成一个随机矩阵,然后将矩阵的转置写入一个txt文件,然后用系统调用matlab程序,读取文件,求特征值,然后对特征值进行某变化后作图。
更多关于matlab读取已有文件的知识可以找相关书籍参考。
1、Fortran中编写代码:program main implicit noneinteger,parameter :: rows=100, cols=100 real*8 :: M(rows,cols) integer :: icall random_seed() call random_number(M) open(100,file='matrix M.txt')write(100,'(<cols>E25.15)') transpose(M) close(100)call system("matlab -r test") end program main2、Matlab建立一个test.m 文件,注意后缀,是model文件,编写为:clear all; close all; clc; M=load('matrix M.txt'); eigvalues=eig(M);plot(real(eigvalues),imag(eigvalues),'-r*'); title('矩阵M的特征值'); xlabel('特征值实数部分'); ylabel('特征值虚数部分');3、注意,test.m文件要放在编译完成的Fortran文件的工程文件夹下。
MATLAB与FORTRAN混合编程接口程序技术的研究
电脑知识与技术研究开发电脑知识与技术1引言使用过FORTRAN等高级程序语言进行算法开发研究的读者可能都已经知道,虽然用户使用这些高级编程语言不再需要直接对计算机硬件进行操作,但是在进行大量数组、矩阵运算程序编写时,可能编写的代码冗长,而且出错不易查找调试,这是因为这些语言本身并不包含矩阵类型的数据结构,这里主要是只语言本身,而不是指针对这些高级程序设计语言开发的增强包、升级包等。
但是现在国际上流行的许多大型软件都是基于FORTRAN、C、C++这些语言开发的,因此在这些领域仍然有着不可替代的地位。
MATLAB(MatrixLaboratory)语言是一种以矩阵(matrix)和阵列(array)为基本编程单元的,拥有完整的控制语句、数据结构、函数编写与调用格式等具有面向对象程序设计特征的高级程序设计语言。
读者不但可以利用它方便快捷地完成小规模的算法验证、程序开发和调试工作,而且可以便用它进行大规模的复杂应用程序设计,非常有效。
由于这几种高级程序设计语言的特点,譬如,如果把MAT-LAB与FORTRAN相结合起来混合编程,就可以弥补互相之间的不足,而且在实际开发过程中,可以大量调用已经编写好的FOR-TRAN程序和MATLAB强大的矩阵计算与绘图功能,这样我们就可以提高实际编程开发的效率。
为了调用已经大量存在的FORTRAN程序,以及MATLAB大量的内部函数等,MATLAB提供了一个API(ApplicationProgramInterface),用于与外部数据交换的借口。
但是这里面临一个问题,由于这二种编程语言数据存储格式不同,故不可以直接通讯,因此要使用一个接口程序。
2接口程序面临的问题以及解决办法由于FOTRAN的数据存储格式与MATLAB的不同,因此需要利用MATLAB中的API接口程序,把MATLAB中的矩阵类型转换为FORTRAN程序可以使用的双精度变量,然后把FOR-TRAN的运行结果转换为MATLAB可以使用的矩阵类型输出,这里MATLAB使用指针这个功能使二种数据格式进行转换的,因为MATLABAPI是以一种特殊的数据类型mxArray结构体来工作的,在FORTRAN中没有这样的一种数据类型,所以MATLAB使用了指针来与FORTRAN程序交换数据。
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的混合编程
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计算机绘图功能强大,它们之间的接口技术使之进行相互融合,从而更好地体现各自的优越性。
关键词: 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公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
Matlab混合编程方法研究
步 骤 三
I ̄C + + b u i 1 d e r @调用 I m y w e l c h . C p p
网 1 中阳 j 件 编 译 步 骤
在 步骤 二 中 , M 文 件 编写 完后 ,将 M 文件 保 存
n l a t c o m4 5 \ D e b u g ” 中;
了 Ma t l a b混合 编程 方 法对 系统 资源 的使 用情 况。 关键 词 :MA T L A B;混合 编程 ;中间件 ;动 态库 中图分 类号 : T N 9 9 文 献标 识码 : A 文 章编 号 :1 6 7 4 — 6 2 3 6 ( 2 0 1 7 ) 1 7 — 0 1 0 7 — 0 4
只需 完成 简单 编 程语 句就 可 以现 实十 分 复杂 的计 算 功能 , 大大 提 高 了工 程 分析 的效 率 。但 是 Ma t l a b强 大 的功 能 只能在 它所 提供 的平 台上才 能 使用 ,要 求
用 户 必 须 在 安 装 Ma t l a b环 境 的操 作 系统 平 台 上 才 能执 行 . m文件 。这 样 当用户 需要 将 Ma t l a b下 已开 发成 熟 的复 杂算 法应 用 到高 级语 言开 发 环境 下 时就 带来 了困难 ,是将 现 成 的东 西集 成到 高级 语 言开 发 程序 中 ,还 是用 高级 语 言再 重新 实现 一遍 已成为 众
t =c o l o n ( 0 . 0 , 1 . 0 / F s , 1 . 0 ) ; x n = s i n( 2 p i 5 0 t ) + 2 s i n ( 2 p i 1 2 0 t ) + r a n d n
( s i z e ( t ) ) ;
件. 就 可 以实现 了对 ma t l a b函数 的调用 l 5 l 。其 具体 步
Matlab与其他编程语言的互操作性介绍
Matlab与其他编程语言的互操作性介绍近年来,计算机编程语言的发展迅猛,众多语言涌现出来,并各自发展壮大。
然而,每种编程语言都有自己的优势和限制。
要充分利用各种语言的优点,不同编程语言之间的互操作性变得至关重要。
本文将重点介绍Matlab与其他编程语言的互操作性,并探讨如何将它们结合起来以满足不同编程需求。
一、 Matlab的特点与优势Matlab是一种高级技术计算语言和环境,广泛应用于科学、工程和金融等领域。
它的优势在于强大的数值计算能力、易用的交互式编程环境以及丰富的工具箱和函数库。
Matlab的语法和编程方法与传统的编程语言略有不同,这使得与其他编程语言之间的互操作性成为一个重要的问题。
二、Matlab与Python的互操作性Python是另一种基于解释执行的高级编程语言,它以其易用性和强大的库支持而受到广泛欢迎。
Matlab和Python之间的互操作性得到许多开发者的关注。
在讨论Matlab与Python的互操作性时,我们首先要提到的是Python的Scipy库,该库提供了许多与Matlab兼容的函数和工具。
通过Scipy库,可以在Python中调用Matlab的函数和脚本,实现两种语言的无缝集成。
具体来说,Matlab中的数组可以转换为NumPy数组,Matlab中的矩阵操作可以在Python中使用Scipy的线性代数函数进行实现。
此外,Matlab中的图形绘制功能可以通过Matplotlib库在Python中实现。
这种互操作性使得科学计算工作能够充分发挥两种语言的优势,提高开发效率。
三、Matlab与R的互操作性R是一种专门用于数据分析和统计建模的编程语言,它具有丰富的统计学函数库和可视化工具。
在数据科学领域,许多人使用Matlab和R两种语言来解决各自领域的问题。
因此,让Matlab与R实现互操作性也成为了许多研究人员和开发者的需求。
通过R的R.matlab包,可以将Matlab的数据结构转换为R的数据结构,并且可以在R中调用Matlab的函数和脚本。
基于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], 张志华;王林江;吕庆风
因版权原因,仅展示原文概要,查看原文内容请购买。
Compaq Visual Fortran与Matlab混合编程实现小波域地震信号多尺度分析
Compaq Visual Fortran与Matlab混合编程实现小波域地震信号多尺度分析徐天吉;程冰洁【期刊名称】《物探化探计算技术》【年(卷),期】2008(30)3【摘要】小波函数在时间域和频率域均具有良好的局部化特征,运用小波函数对地震信号进行变换处理,能够提取体现地质体宏观与微观特征的属性参数.在Compaq Visual Fortran环境下,调用Matlab小波工具箱中的函数与命令进行混合编程,能够快速、准确地实现地震信号的多尺度分析,提取体现地质体频率属性的最佳尺度参数.运用Compaq Visual Fortran卓越的计算功能完成较大数据文件的读取,再调用Matlab中丰富的小波函数及其它数学函数库,实现地震信号的各类计算,可有效地减轻程序编写的难度,提高工作效率,缩短研究周期.在含油气的地质体中,尺度参数越大,频率衰减则更加突出,最佳的尺度参数能为油气预测提供重要的参考信息.该方法已在川西坳陷深层须家河组新场地区含气性检测中推广试用,所获得的异常区段与多口测井含气段吻合良好.【总页数】6页(P185-190)【作者】徐天吉;程冰洁【作者单位】中石化西南分公司勘探开发研究院德阳分院,四川,德阳,618000;中石化西南分公司博士后科研工作站,四川,成都,610081【正文语种】中文【中图分类】P631.4+14【相关文献】1.MatLab与Fortran混合编程实现结构优化和可靠性分析 [J], 赵秀丽;易平2.Fortran与Matlab混合编程实现溴化锂水溶液的物性计算可视化 [J], 王书中;由世俊;孙贺江;李秋生3.Visual C++与Compaq Visual Fortran混合编程研究 [J], 马清华;王明海4.VC++调用Fortran及MATLAB程序混合编程实现 [J], 马清华;王明海5.Visual C++与MATLAB混合编程实现图象三维重建 [J], 孙慧;李莉因版权原因,仅展示原文概要,查看原文内容请购买。
Fortran与matlab在数组上的对比
Fortran与matlab在数组运算上的对比航院力9 金鹏2009011622 Fortran与matlab均是数值计算中的有力的工具。
前者以效率著称,后者以灵活出众。
二者在矩阵运算上很有特色,“matlab”更是矩阵实验室的简称。
二者在矩阵运算上,自然值得一比。
首先最简单的一个是生成随机矩阵并作矩阵乘法的速度对比。
Fortran中:program cprimplicit noneinteger ,parameter::n=300real(8) a(n,n),b(n,n),c(n,n)integer i,jreal(8) t1,t2,tcall cpu_time(t1)call ran_matrix(a)call ran_matrix(b)call cpu_time(t2)print*, t2-t1c=matmul(a,b)call cpu_time(t2)print*, t2-t1!print*, acontainssubroutine ran_matrix(a)implicit nonereal(8) a(n,n)integer i,jreal(8) rcall random_seed()do i=1,ndo j=1,ncall random_number(r)a(i,j)=10000*renddoenddoend subroutine ran_matrixend program加上注释,共有40行。
运行结果如下图:对于MATLAB中,程序代码:tic;t1=clock;a=rand(300,300);b=rand(300,300);c=a*b;toc;t2=clock;t=t2-t1;只用一行,其中包括了8句语句,为Fortran的1/5。
结果显示:Elapsed time is 0.015592 seconds.t=0.016当然,有时也有:Elapsed time is 0.022325 seconds.上下浮动相当大。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如 果 你 的 F R R N 编译 器 如 F R R N 0等 支 持 %vl 构 。 O TA OTA 9 a结 即 用 户 可 以在 程 序 中 讲 一 个 变 量 声 明为 指 针 类 型 , 时 对 数 据 的 访 这
包 等 。 是 现 在 国际 上 流 行 的许 多 大 型软 件 都 是基 于 F R R N、 但 O TA C、+ 这 些 语 言 开 发 的 ,因此 在这 些 领 域 仍 然 有 着 不 可 替 代 的 地 C+ 位。 MA L B( a i L brtr) 言 是 一 种 以 矩 阵 ( tx 和 阵 T A M tx aoa y 语 r o mai) r 列 (r y 为 基 本 编 程 单 元 的 , 有 完 整 的控 制 语 句 、 据 结 构 、 aa) r 拥 数 函 数 编 写 与 调 用 格 式 等 具 有 面 向 对 象 程 序 设计 特 征 的 高 级 程 序 设 计 语 言 。读 者 不但 可 以 利 用 它 方 便 快 捷 地 完 成 小 规 模 的 算 法 验
交 换 的 m A ry结 构 体 的 内 存 地 址 作 为 一 个 整 型 数 值 传 递 给 xr a
F R R N程 序 , 后 在 F R R O T A 然 O T AN程 序 中 , 过 MA L B应 用 程 通 TA
序 接 口 函数 库 提 供 的访 问 函数 acs ruie) 用 此 整 数 值 来 访 ces ot s n 使 问 m A r ̄结构 体 的 内 容 ,这些 访 问 函数 会 自动 将 此 整 数 值 作 为 xr , a 内存 地 址 . 取 相 应 的 内 容 。 读
Lb r S c l eu t B ra, fi 3 0 C ia ao & oi cr ueu He 0 0 ,hn) aS i y e2 1
Ab t c : e a t o l srt s oh M ATL s r t Th u h ri u t e t a l a b ABA n ORTRAN o i  ̄ adF c mp e a v n a e n rwb c s a l a e n c s t f x d l d a tg sa d d a a k . s wel st e e s y o e h i mi
(. c o l fCii E gn ei g Hee iesy o Teh oo y Hee 3 0 , ia 2 Co ue nomain M a a e n ne, fi 1 S h o vl n ie r , fi o n Unv ri f c n lg , fi2 0 9Chn ; . mp trIfr t n g me t t o Ce tr Hee
摘要 : 绍了 F 介 ORT AN 与 MA L B 的 各 自优 势 与 不 足 , R TA 以及 它 们 之 间混 合 使 用 的 必要 性 : 分析 了二 种 程 序 混 合 编程 的接 口技 术
以及 动 态 连 接 函数 ME 文 件 的 构 建 和使 用 方 法 . 且 用 实例 阐述 了 M E 文 件 的 具 体 编 写 。 X 并 X 关键词 : T A F MA L B: ORT N : IME 文 件 KA AP : x
维普资讯
\ 究 发 研 开
电知 与 术 脑 识 技
MA L 与 F T AN T AB OR R
混合编程 接 口程序技 术 的研 究
陆 胜 ’ 罗 卿 .来自( 1 肥 工业 大学 土 木 建 筑 工程 学 院 , 徽 合 肥 2 00 ; . 肥 市 劳 动 和 社会 保 障局 计 算 机 信 息 管 理 中 心 , 合 安 3092 合 安徽 合 肥 20 0 ) 3 0 1
中图分类号: P 1 T 31
文献标识码 : A
文章编号 :0 9 3 4 (0 62 — 1 8 0 1 0 — 0 42 0 )9 0 1 — 2 L h n ’L U S e g UO n , Qid
TheR e e r h a sa c bou o r m ntra e Te h qu fM i d og a m i g ’ h M A TL tPr g a I efc c ni e o xe Pr r m n  ̄ dt AB n O R TRA N adF Com plr ies
Ke r s M ATL y wo d : AB: O RT F RAN: I M EX l AP ; i fe
1 引 言
使 用 过 F R R N 等 高 级 程 序 语 言 进 行 算 法 开 发 研 究 的 读 O TA 者 可 能 都 已经 知 道 , 然 用 户 使 用 这 些 高 级 编 程 语 言 不 再 需 要 直 虽 接 对 计 算 机 硬 件 进 行 操 作 , 是 在 进 行 大 量 数 组 、 阵 运 算 程 序 但 矩 编 写 时 , 能 编 写 的 代 码 冗 长 , 且 m 错 不 易 查 找 调 试 , 是 因 为 可 而 这 这 些 语 言 本 身 并 不 包 含 矩 阵 类 型 的数 据结 构 , 里 主 要 是 只 语 言 这 本 身 , 不 是 指 针 对 这 些 高 级 程 序 设 计 语 言 开 发 的 增 强 包 、 级 而 升