Matlab编程技术:第9章 编译与接口_第1页
Matlab编程技术:第9章 编译与接口_第2页
Matlab编程技术:第9章 编译与接口_第3页
Matlab编程技术:第9章 编译与接口_第4页
Matlab编程技术:第9章 编译与接口_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第9章 编译与接口,目 录,9.1 与Word/Excel的混合使用 9.2 编 译 器 9.3 应用程序接口,9.1 与Word/Excel的混合使用,9.1.1 Notebook的使用 9.1.2 Excel link的使用,9.1.1 Notebook的使用,1在Word中执行代码的基本过程 2Notebook使用中应该注意的问题,安装Notebook(又称M-book)时,计算机中必须已经安装Word和MATLAB。 notebook setup notebook,1在Word中执行代码的基本过程,Notebook采用输入单元来定义MATLAB的代码。 采用文本格式输入代码,末尾不要加

2、回车和空格。 通过Notebook菜单中的【Define Input Cell】选项定义输入单元,其中输入单元都显示为黑方括号包括绿色字符的形式。 通过Notebook菜单中的【Evaluate Cell】选项或者按Ctrl+Enter键,运行输入单元内的代码,并得到黑方括号包括蓝色字符形式的输出单元,2Notebook使用中应该注意的问题,M-book文档中的代码必须在英文状态下输入; 带鼠标操作交互的代码最好不在M-book中运行; 在运行M-book文档时,最好不运行其他 程序与任务,以免影响M-book文档中程序的正确执行; 采用以下方法解决代码执行中出现的异常情况:代码以命令clea

3、r开始;重新启动计算机后,再执行M-book文档中的程序;将M-book文档的代码拷贝到M文件,再到MATLAB的命令窗口执行,2Notebook使用中应该注意的问题,M-book文档的代码运行速度要比在MATLAB命令窗口中执行慢很多。 当编辑科技论文或其他文档时,最后可将单元转换为普通文本。 可使用Notebook菜单中的【Bring MATLAB to Font】选项或者按组合键AltM把MATLAB的命令窗口调到前台。 可使用Notebook菜单中的【Toogle Graph Output for Cell】 选项控制是否显示输入单元或输出单元的输出图形,9.1.2 Excel lin

4、k的使用,1Excel link的安装 2Excel link的启动 3Excel link的终止 4Excel link使用时注意事项,Excel link是在Microsoft Windows环境下实现Microsoft Excel和MATLAB进行交互的插件,1Excel link的安装,系统需要在Windows环境下先安装Excel,然后再安装MATLAB和Excel link。 Excel link随安装MATLAB时安装的,即在MATLAB安装组件中选中Excel link。 启动Microsoft Excel,单击工具菜单(Tools),执行【加载宏】命令,2Excel link

5、的启动,按照上面的设置,每次启动Excel时Excel link和MATLAB将自动运行,3Excel link的终止,当终止Excel的时候,Excel link和MATLAB会被同时终止,4Excel link使用注意事项,Excel link函数名对字母的大小写不作区分,而MATLAB函数名是区分大小写的。 Excel工作表等式通常以“”或“”作为起始标记。 在大多数Excel link函数中有两种定义变量的方式,即直接定义和间接定义,4Excel link使用注意事项,Excel link函数执行过程中其所在数据单元将一直显示其函数内容,函数执行完毕后,数据单元将被赋值为0。 建议设置

6、Excel【工具】工具菜单里【选项】的【编辑】页中【按Enter键后移动】选项为【向下】,以保证输入完毕且经确认后再改变当前工作单元,9.2 编 译 器,9.2.1 编译器概述 9.2.2 编译器的安装和配置 9.2.3 编译器的使用,MATLAB编译器是指将M文件作为其输入,同时生成独立的可执行文件或相关软件组件的程序,它可以由命令mcc调出,9.2.1 编译器概述,MATLAB编译器4.0版本采用了MATLAB Component Runtime(MCR)技术。 MCR提供了对MATLAB语言的完全支持。 MATLAB编译器采用了Component Technology File(CTF)

7、存档来组织配置文件包。 所有的M文件均采用了高级加密标准AES)进行了密钥为1024位的加密,保存为CTF格式。 每一个由MATLAB编译器生成的应用程序或者共享库均有一个与之相对应的CTF存档,MATLAB编译器自动生成独立文件或软件组件。为了生成独立运行的MATLAB应用程序,只需要用来构成应用程序的M文件,然后编译器将会自动执行以下操作。 依赖性分析; 代码生成; 存档生成; 编译; 链接,9.2.2 编译器的安装和配置,1安装ANSI C/C+编译器 2安装MATLAB编译器 3配置编译器 4安装MCR,1安装ANSI C/C+编译器,2安装MATLAB编译器,MATLAB编译器的安装

8、过程包含在安装MATLAB之中,当选择Typical的安装模式时,MATLAB Compiler会被自动选为MATLAB的安装组件,当选择Custom安装模式时,在默认情况下,MATLAB Compiler选项是被选中的,3配置编译器,mbuild -setup,4安装MCR,将MATLAB安装路径中的 toolbox compiler deploy win32子目录下的文件MCRInstaller.exe拷贝到其他路径; 双击进行安装,直到提示安装结束,9.2.3 编译器的使用,1编译指令mcc 2创建独立执行程序,1编译指令mcc,不管是生成独立执行程序,还是C共享库以及软件组件,只要源码

9、是M文件都可以借助编译命令mcc实现,2创建独立执行程序,打开DOS窗口,将路径变更为exm2.exe所在目录,并运行exm2.exe,运行结果如下图所示,9.3 应用程序接口,9.3.1 创建C语言MEX文件 9.3.2 Java接口 9.3.3 DDE技术 9.3.4 ActiveX技术,MATLAB提供应用程序接口(Application Program Interface,API)来实现与其他外部程序的沟通,9.3.1 创建C语言MEX文件,1MEX文件简介 2编写MEX文件源程序,1MEX文件简介,MEX是MATLAB和Executable两个单词的缩写。 MEX文件一般使用C或者F

10、ortran语言编写,通过编译生成的目标文件能够被MATLAB调用执行。 MEX文件主要应用于已存在较大规模的C或者Fortran程序。 矩阵是MATLAB唯一能处理的对象,在C语言中矩阵用结构体mxArray来定义,2编写MEX文件源程序,编写MEX文件源程序时,要用到两类API库函数: mx-库函数,用于在C语言中创建、访问、操作和删除结构体mxArray; mex-库函数,用于与MATLAB环境进行交互,9.3.2 Java接口,利用MATLAB的Java接口可以完成下列工作: 调用Java API类和包; 调用第三方Java类; 在MATLAB环境下创建Java对象; 通过Java语法

11、或者MATLAB语法使用Java对象的方法; 在Java对象和MATLAB之间交互数据,在MATLAB中创建Java对象有两种方法: 直接用Java类 用函数javaObject()创建,9.3.3 DDE技术,1DDE的一般性说明 2DDE中的MATLAB服务器 3DDE中的MATLAB客户,动态数据交换(Dynamic Data Exchange,DDE)允许各Windows应用程序间交换数据的通信机制。 Windows平台上的MATLAB作为一个应用程序,具有借助DDE与其他应用程序通信的功能,1DDE的一般性说明,应用程序可以借助DDE通话实现彼此间的通信。 请求建立对话的应用程序称为

12、客户(Client) 响应对话请求的应用程序被称为服务器(Server,当客户应用程序创建DDE对话时,必须识别被呼叫服务器的两个DDE参数: 服务名(Service name),即被请求对 话的应用程序名; 话题(Topic),即对话主题。 由这两个参数构成了区分不同对话的惟一标识,2DDE中的MATLAB服务器,客户可以采用不同方法访问作为服务器的MATLAB。 假如客户应用程序能够提供管理DDE对话的函数或宏,则应该充分利用它们; 假如客户应用程序是自行编制的,则可利用MATLAB引擎库或直接利用DDE,MATLAB用作服务器时的工作原理如下图所示,当MATLAB作为DDE服务器使用时,

13、所能选用的具体名称和它们间的层次关系如下图所示,3DDE中的MATLAB客户,当MATLAB以客户身份建立DDE通信时,其工作原理如下图所示,在Excel开启的前提下,运行结果如以下两图所示,9.3.4 ActiveX技术,1ActiveX技术的一般性说明 2自动化客户 3自动化服务器,1ActiveX技术的一般性说明,ActiveX是一种基于Microsoft Windows操作系统的组件集成协议,是各种面向对象技术的集合。 每个ActiveX都支持一个或多个赋名的界面,而界面是一组逻辑相关方法、属性和事件的组合,MATLAB支持两种ActiveX技术,即ActiveX控件和ActiveX自动化。 MATLAB自动化客户的功能仅是MATLAB ActiveX控件功能的子集,2自动化客户,若需要MATLAB通过ActiveX自动化客户支持调用其他ActiveX组件,则须先查阅该ActiveX组建的相关文件,从中得到该组件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论