《应用程序接口》ppt课件

《应用程序接口》ppt课件

ID:27272487

大小:492.51 KB

页数:18页

时间:2018-12-01

《应用程序接口》ppt课件_第1页
《应用程序接口》ppt课件_第2页
《应用程序接口》ppt课件_第3页
《应用程序接口》ppt课件_第4页
《应用程序接口》ppt课件_第5页
资源描述:

《《应用程序接口》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第20章应用程序接口作为一款优秀的工程计算软件,MATLAB不仅拥有强大的功能和友好的界面支持,还具有很好的开放性、可扩展性,主要表现在:丰富的工具箱(Toolbox)资源可以适应各学科、各领域的需要,并且用户可以创建自己的工具箱;广泛的应用程序接口(API),能够与外部应用程序实现“无缝”结合等。本章针对MATLAB的C、FORTRN应用程序接口,主要介绍以下几方面内容:C/FORTRAN语言中的MATLAB数据结构mxArray;MATLAB利用MEX文件调用C/FORTRAN函数;C/FORTRAN通过

2、MATLAB引擎(Engine)调用MATLAB函数;创建能够读写MAT文件的C程序,实现C与MATLAB的数据通信。20.1mxArray数据结构数组是MATLAB程序基本的数据组织形式,也是大部分MATLAB运算的基本运算单位。MATLAB中数组与C/FORTRAN中数组的存储方式是不同的,而且MATLAB和C/FORTRAN对基本数据类型,如双精度类型浮点数、整数类型、字符类型等的定义也是不同的。为了能够在C中表示MATLAB数据结构,MATLAB提供了一种特殊的C语言结构——mxArray。本节首先简

3、要介绍MATLAB和C/FORTRAN中数组存储方式的不同,然后详细讨论mxArray数据结构及相关的操作函数——mx函数。20.1.1MATLAB和C/FORTRAN中的数组数组是MATLAB数据组织的基本形式,这里首先要澄清两个概念,即数据类型和数据结构。MATLAB的数据类型,诸如整型、浮点型、逻辑型等都是数值类型;另外还有字符、字符串、对象等非数值类型。数据结构是指数据元素的组织方式,基本的有数组,另外还有元胞、构架等复杂数据结构,每个数据元素都有对应的数据类型。MATLAB按列主序组织数组中的数据元

4、素,例如对一个3阶魔术矩阵A,在MATLAB命令窗口输入以下代码。>>a=magic(3)运行结果如下。a=81635749220.1.2mxArraymxArray是一种C语言结构体,该结构体的定义在Matrix.h中,下面列出了mxArray定义相关的代码:mxArray结构体由很多字段组成,这些字段保存了MATLAB数据的所有信息:数据类型;数组维数;数组大小,行数、列数;数据主体;如果是数值对象,则保存数据是实数还是复数;如果是稀疏矩阵,则保存矩阵中非零元素的个数和索引。20.1.3mx函数为了方便m

5、xArray数据对象的操作,MATLAB专门提供了一组mxArray数据操作函数,即mx函数。利用mx函数可以创建和访问mxArray数据对象,本小节首先介绍几类主要mxArray数据对象的创建,其间会涉及相应mxArray数据对象的访问和赋值操作,随后讨论了mxArray数据对象相关的内存操作。下面对两类常用的mxArray数据对象的创建及相关的访问、赋值操作进行详细介绍,这两类mxArray数据对象是:数值数组;逻辑数组。20.2C/FORTRANMEXC/FORTRAN语言应用于工程、科学等领域具有较长

6、的历史,积累了大量可用的代码,通过MEX文件,可以直接将这些已有的C/FORTRAN代码集成到MATLAB应用中,而且能够弥补MATLAB本身的一些不足,如对计算机低层硬件的操作、网络操作等。本节首先简要介绍CMEX文件的结构,为了创建CMEX文件,需要对MATLAB编译器作相关的设置——MEX配置,20.2.3和20.2.4分别以示例的形式讨论了CMEX和FORTRANMEX的创建方法。注意:MEX是MATLABCompiler3等早期MATLAB编译器的功能,MATLAB7.0的编译器(MATLABCom

7、piler4)已不能支持MEX文件。20.2.1MEX文件简介MEX即为MATLAB和Executable的缩写,一般地,MEX文件由C语言或FORTRAN语言开发,经过编译后可以被MATLAB直接调用。在使用上MEX文件与M文件相似,但比M文件具有更高的执行优先级。利用MEX文件,用户可以完成:在MATLAB直接使用已有的C/FORTRAN代码;隐藏算法的细节;利用C语言对低层硬件进行操作,扩展MATLAB的能力。20.2.2配置MEXMEX文件一般由C/FORTRAN语言开发,然后利用MATLABComp

8、iler将C/FORTRAN源代码编译为MEX文件。为此需要对MATLABCompiler作相应的配置,配置过程与本书第19章的mbuild配置相似,即是选择合适的C/FORTRAN编译器。在MATLAB命令窗口输入以下指令:>>mex–setup运行结果如下。Pleasechooseyourcompilerforbuildingexternalinterface(MEX)files:Wouldyo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。