MATLAB外部接口编程第2章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在 C 语言/Fortran 语言中读写 M AT 数据文件 M 语言中调用 Java 类 加载动态链接库函数
解决方法 M EX 文件 计算引擎 M ATLAB 函数库 计算引擎 COM 应用 M ATLAB 组件打包
M AT 应用 Java 语言 直接加载
需要工具
M ATLAB M ATLAB M ATLAB、M ATLAB Compห้องสมุดไป่ตู้ler M ATLAB M ATLAB MATLAB、MATLAB Compiler、 M ATLAB COM Builder、 M ATLAB Excel Builder M ATLAB
第2章 MATLAB外部接口概述
1. 在MATLAB中加载动态链接库
Windows平台下的动态链接库包含了一组函数,这些函数 可以被不同的应用程序来调用,这些文件就是共享库在 Windows平台下的实现,这些文件的扩展名为.dll。在应用程序 运行的时候,动态库被自动加载到内存中,利用库函数完成计 算或者某些操作。MATLAB提供了相应的接口函数,可以将通 用的动态链接库加载到MATLAB环境中,这样在M语言程序中 就可以直接调用动态链接库包含的函数了。
■ 在UNIX平台中,用户不仅可以在本地计算机上调用 MATLAB计算引擎服务,而且还可以通过网络调用其它计算机 平台上的MATLAB计算引擎服务,从而充分利用网络上的计算 资源。
MATLAB的计算引擎应用简单、灵活,但是惟一的缺点 就是C语言或者Fortran语言开发的应用程序无法脱离MATLAB 环境,所以使得应用计算引擎必须安装一套MATLAB。
第2章 MATLAB外部接口概述
3. C语言或者Fortran语言应用程序读写MAT数据文件
MAT数据文件是MATLAB独有的一种数据文件格式,这种数据 文件是一种二进制文件,能够跨平台使用。MAT数据文件的后缀 名称是.mat。
一般地,MAT数据文件都是在MATLAB环境中进行读写的, 不过可以利用MATLAB提供的函数库完成C语言或者Fortran语 言读写MAT数据文件的程序开发,这样就能够充分利用MAT数 据文件跨平台应用的优势了。
第2章 MATLAB外部接口概述
表2-1 MATLAB与其它开发工具语言交互的能力
问题 在 MATLAB 中调用 C 或者 Fortran 语言代码 在 C 语言中调用 M ATLAB 算法
在 Fortran 语言中调用 M ATLAB 算法
M ATLAB COM 客户端/服务器开发 Visual Basic/Excel 程序中调用 M ATLAB
MATLAB 计 算 引 擎 应 用 程 序 是 那 些 通 过 特 殊 的 通 信 方 式 与 MATLAB进程相互交互的C语言或者Fortran语言应用程序。计算 引擎在不同的平台上使用不同的通信方法,例如在UNIX平台上 使用管道(pipes),而在Windows平台上使用COM接口--IEngine。
第2章 MATLAB外部接口概述
第2章 MATLAB外部接口概述
2.1 外部接口应用的类型 2.2 mxArray数据结构 2.3 mx函数应用 2.4 MATLAB的环境配置 练习
第2章 MATLAB外部接口概述
2.1 外部接口应用的类型
通过表2-1可以看到,MATLAB同其它软件开发工具或者语 言交互的能力是非常强大的,特别是MATLAB在Windows平台 上支持Microsoft提出的COM标准,同时支持Java语言,所以 MATLAB几乎可以同Windows平台上任何一种软件或者开发语 言进行交互。不过,使用不同的工具解决不同的问题,往往一 类问题又有很多种解决方法,但不是每一种都适合或者最佳。 例如在解决利用C语言调用MATLAB算法的问题上,可以分别 通过计算引擎和MATLAB函数库的方法解决,但是不同的方法 各有优点和缺点,需要针对用户的需要来选择。
第2章 MATLAB外部接口概述
4. 在M语言中调用Java类 MATLAB的Java接口包括: ■ 调用Java API类(class)和包(package),完成Java核心功能。 ■ 调用第三方定义的Java类(class)。 ■ 在MATLAB 环境下创建Java对象。 ■ 使用Java语法或者MATLAB语法使用Java对象的方法。 ■ 在Java对象和MATLAB之间交互数据。
第2章 MATLAB外部接口概述
* 在MATLAB中使用已有的C语言或者Fortran语言代码,避 免重复劳动。
* 解决M语言运行速度的瓶颈。 * 隐藏算法的细节。 * 通过C语言对计算机硬件设备进行操作,扩展MATLAB 的能力。
第2章 MATLAB外部接口概述
2. 通过MATLAB计算引擎在C代码或者Fortran代码中调用 MATLAB
第2章 MATLAB外部接口概述
MATLAB计算引擎从应用上与MEX文件正好相对,它提供 了在C/Fortran语言应用程序中调用MATLAB,将MATLAB作为 后台计算处理平台的能力。利用MATLAB计算引擎可以完成:
第2章 MATLAB外部接口概述
■ 利用C语言或者Fortran语言开发前台应用程序,调用 MATLAB丰富的算法库,充分利用不同开发工具的优势和长处。
M ATLAB M ATLAB
第2章 MATLAB外部接口概述
1. 使用MEX文件调用已有的C代码或者Fortran代码
创建MEX文件是外部接口应用的重点,也是本书所讲述内 容的重点。MEX从字面上是MATLAB Executable 两个单词的缩 写。MEX文件类似于M文件,是一种能够在MATLAB环境中可 以被MATLAB的解释器解释并执行的函数文件。MEX文件可以 直接使用C语言或者Fortran语言来编写,在相应的C语言或者 Fortran语言代码中,就可以调用已有的大量C语言或者Fortran 语言算法。在MATLAB中调用MEX文件时,就好像调用 MATLAB的内建函数或者M文件函数一样,语法结构和输入、 输出参数都符合MATLAB的标准。利用MEX文件可以完成:
相关文档
最新文档