第7章MATLAB的混合编程初步.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章MATLAB的混合编程初步资料

MATLAB 与控制系统仿真实践 第7章 MATLAB 的混合编程初步 第7章 MATLAB 的混合编程初步 7.1 MATLAB 的混合编程形式简述 7.2 常用MATLAB 混合编程方法 7.2.1使用MATLAB的MATLAB Compiler 7.2.2 利用MATLAB引擎(MATLAB Engine) 7.2.3 利用ActiveX技术 7.2.4 利用mat文件 7.2.5 使用mex文件 7.2.6 利用MatrixVB实现与Visual Basic的混合编程 7.2.7 利用MATLAB Builder系列工具。 7.3 MATLAB 的混合编程示例――以MATLAB? Builder for Java应用为例 7.3.1 生成魔方矩阵的演示程序 7.3.2 输出曲线的演示程序 MATLAB的编程效率极高,但因其是解释型的语言,运行效率却相对较低。还有一个问题就是MATLAB的m文件是不能脱离应用程序环境的,这样就限制了其可移植性和通用性。针对这些问题,实现MATLAB与其它程序设计语言的混合编程就显得尤为重要。这有助于充分发挥MATLAB和其它语言各自的优势,降低开发难度,缩短开发周期,提高程序的执行效率。 7.1 MATLAB 的混合编程形式简述 通常,混合编程有以下几种形式: 1. 在MATLAB环境中调用其它语言编写的程序,以提高数据处理的效率; 2. 向MATLAB环境传送数据或从MATLAB环境接收数据,实现MATLAB系统同外部环境的数据交换; 3. 在MATLAB和其它应用程序间建立客户机/服务器关系,将MATLAB作为一个计算引擎,在其它应用程序中调用,从而降低程序设计的工作量。 7.2常用MATLAB 混合编程方法 7.2.1使用MATLAB的MATLAB Compiler 编译器可以将MATLAB程序生成适用于UNIX, Windows和Macintosh平台的C和C++程序,也可生成适于Microsoft Windows的C和C++动态链接库DLLs。 可以在命令窗口使用mcc调用MATLAB Compiler,也可在命令提示符下输入deploytool调用。 7.2.2 利用MATLAB引擎 实际应用中可以将MATLAB作为一个引擎使用,让其在后台使用,以简化前台用户程序的设计任务。MATLAB引擎函数库是MATLAB提供的一组接口函数,它允许用户在自己的应用的程序中对MATLAB函数进行调用。使用MATLAB引擎有如下典型的应用: 将MATLAB看作是功能强大的子程序库。例如,调用 MATLAB engine实现复杂的数学计算。 为一个特定任务构建一个完整的系统。如前台采用C语言实现GUI,而后台的分析处理功能完全由MATLAB完成,从而缩短开发周期。 7.2.3 利用ActiveX技术 ActiveX是一种支持组件集成的Microsoft Windows协议。通过ActiveX可以将不同应用环境下开发的组件集成到一个应用环境中。ActiveX同时也是面向对象技术(Object-Oriented)的一种,属于基于组件对象模型(COM)的子类。COM为所有的ActiveX对象定义了对象模型,每个ActiveX对象支持一定的接口,即不同方法、属性和事件。 通过ActiveX可以在MATLAB和其它软件平台建立客户机服务器体系结构,方便彼此交互。当MATLAB控制其它ActiveX组件时,MATLAB作为一个Automation Client;当MATLAB被其它ActiveX组件控制时,MATLAB作为一个Automation Server。换句话说,一方面可以在MATLAB环境下运行其它语言开发的ActiveX组件,一方面其它语言的程序中也可运行MATLAB的ActiveX服务组件。 7.2.4 利用mat文件 MATLAB保存文件默认格式为mat格式,它是二进制文件。这种格式方便了不同应用程序间的数据共享。MATLAB正是通过mat格式的数据文件与其它程序进行数据交互的。例如,我们可以将计算复杂度高、编程困难的操作交由MATLAB完成,其运算结果保存为mat格式的文件,供其它应用程序使用。这样,可极大减轻编程负担。 7.2.5 使用mex文件 mex(MATLAB Executable)是MATLAB的可执行程序。在Microsoft Windows下mex文件的扩展名为DLL。它可以在MATLAB下像一般的M文件执行。mex文件可以通过编译C/C++或FORTRAN源文件产生。这样,我们就可以将一部分工作交给C/C++或FORTRAN完成,只要将其编译成mex文件,供MATLAB调用即可。这种方式的优点有: 代码重用。可以将以前已有的且成熟的C/C++或FORTRA

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档