《应用程序接口》PPT课件.ppt
《《应用程序接口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《应用程序接口》PPT课件.ppt(18页珍藏版)》请在三一办公上搜索。
1、第20章 应用程序接口,作为一款优秀的工程计算软件,MATLAB不仅拥有强大的功能和友好的界面支持,还具有很好的开放性、可扩展性,主要表现在:丰富的工具箱(Toolbox)资源可以适应各学科、各领域的需要,并且用户可以创建自己的工具箱;广泛的应用程序接口(API),能够与外部应用程序实现“无缝”结合等。本章针对MATLAB的C、FORTRN应用程序接口,主要介绍以下几方面内容:C/FORTRAN语言中的MATLAB数据结构mxArray;MATLAB利用MEX文件调用C/FORTRAN函数;C/FORTRAN通过MATLAB引擎(Engine)调用MATLAB函数;创建能够读写MAT文件的C程
2、序,实现C与MATLAB的数据通信。,20.1 mxArray数据结构,数组是MATLAB程序基本的数据组织形式,也是大部分MATLAB运算的基本运算单位。MATLAB中数组与C/FORTRAN中数组的存储方式是不同的,而且MATLAB和C/FORTRAN对基本数据类型,如双精度类型浮点数、整数类型、字符类型等的定义也是不同的。为了能够在C中表示MATLAB数据结构,MATLAB提供了一种特殊的C语言结构mxArray。本节首先简要介绍MATLAB和C/FORTRAN中数组存储方式的不同,然后详细讨论mxArray数据结构及相关的操作函数mx函数。,20.1.1 MATLAB和C/FORTRA
3、N中的数组,数组是MATLAB数据组织的基本形式,这里首先要澄清两个概念,即数据类型和数据结构。MATLAB的数据类型,诸如整型、浮点型、逻辑型等都是数值类型;另外还有字符、字符串、对象等非数值类型。数据结构是指数据元素的组织方式,基本的有数组,另外还有元胞、构架等复杂数据结构,每个数据元素都有对应的数据类型。MATLAB按列主序组织数组中的数据元素,例如对一个3阶魔术矩阵A,在MATLAB命令窗口输入以下代码。a=magic(3)运行结果如下。a=8 1 6 3 5 7 4 9 2,20.1.2 mxArray,mxArray是一种C语言结构体,该结构体的定义在Matrix.h中,下面列出了
4、mxArray定义相关的代码:mxArray结构体由很多字段组成,这些字段保存了MATLAB数据的所有信息:数据类型;数组维数;数组大小,行数、列数;数据主体;如果是数值对象,则保存数据是实数还是复数;如果是稀疏矩阵,则保存矩阵中非零元素的个数和索引。,20.1.3 mx函数,为了方便mxArray数据对象的操作,MATLAB专门提供了一组mxArray数据操作函数,即mx函数。利用mx函数可以创建和访问mxArray数据对象,本小节首先介绍几类主要mxArray数据对象的创建,其间会涉及相应mxArray数据对象的访问和赋值操作,随后讨论了mxArray数据对象相关的内存操作。下面对两类常用
5、的mxArray数据对象的创建及相关的访问、赋值操作进行详细介绍,这两类mxArray数据对象是:数值数组;逻辑数组。,20.2 C/FORTRAN MEX,C/FORTRAN语言应用于工程、科学等领域具有较长的历史,积累了大量可用的代码,通过MEX文件,可以直接将这些已有的C/FORTRAN代码集成到MATLAB应用中,而且能够弥补MATLAB本身的一些不足,如对计算机低层硬件的操作、网络操作等。本节首先简要介绍C MEX文件的结构,为了创建C MEX文件,需要对MATLAB 编译器作相关的设置MEX配置,和分别以示例的形式讨论了C MEX和FORTRAN MEX的创建方法。注意:MEX是M
6、ATLAB Compiler 3等早期MATLAB编译器的功能,MATLAB 7.0的编译器(MATLAB Compiler 4)已不能支持MEX文件。,20.2.1 MEX文件简介,MEX即为MATLAB和Executable的缩写,一般地,MEX文件由C语言或FORTRAN语言开发,经过编译后可以被MATLAB直接调用。在使用上MEX文件与M文件相似,但比M文件具有更高的执行优先级。利用MEX文件,用户可以完成:在MATLAB直接使用已有的C/FORTRAN代码;隐藏算法的细节;利用C语言对低层硬件进行操作,扩展MATLAB的能力。,20.2.2 配置MEX,MEX文件一般由C/FORTR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用程序接口 应用程序 接口 PPT 课件
链接地址:https://www.31ppt.com/p-5505732.html