您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第十一章外部接口_MATLAB全教学(安装使用运算编程仿真应用与接口)
MATLAB全教学(安装、使用、运算、编程、仿真、应用与接口)第一章概述第二章基础知识第三章数学运算第四章基本编程第五章数据显示及存取第六章数值计算第七章符号计算第八章图形用户界面(GUI)第九章Simulink仿真第十章实际应用第十一章外部接口第十一章外部接口本章将着重介绍MATLAB的外部接口,包括:与Word/Excel的混合使用;编译器;应用程序接口。目录11.1与Word/Excel的混合使用11.2编译器11.3应用程序接口习题11.1与Word/Excel的混合使用11.1.1Notebook的使用11.1.2Excellink的使用在Word环境中可以使用MATLAB的资源。同时MATLAB也可以与Excel混合使用。11.1.1Notebook的使用1.在Word中执行代码的基本过程2.Notebook使用中应该注意的问题安装Notebook(又称M-book)时,计算机中必须已经安装Word和MATLAB,其具体步骤如下。1.在Word中执行代码的基本过程Notebook采用输入细胞(InputCell)来定义MATLAB的代码,具体操作步骤如下。采用文本格式输入代码,末尾不要加回车和空格。通过Notebook菜单中的【DefineInputCell】选项定义输入细胞,其中输入细胞都显示为黑方括号包括绿色字符的形式。通过Notebook菜单中的【EvaluateCell】选项或者按Ctrl+Enter键,运行输入细胞内的代码,并得到黑方括号包括蓝色字符形式的输出细胞。0246810121416182000.20.40.60.811.21.41.61.82TimeAmplitude2.Notebook使用中应该注意的问题。M-book文档中的MATLAB代码必须在英文状态下输入。带鼠标操作交互的代码最好不在M-book文档中运行。在运行M-book文档时,最好不运行其他程序与任务,以免影响M-book文档中程序的正确执行。采用以下方法解决代码执行中出现的异常情况:代码以命令clear开始;重新启动计算机后,再执行M-book文档中的程序;将M-book文档的代码拷贝到M文件,再到MATLAB的命令窗口执行。M-book文档的代码运行速度要比在MATLAB命令窗口中执行慢很多。当编辑科技论文或其他文档时,最后可将细胞转换为普通文本。可使用Notebook菜单中的【BringMATLABtoFont】选项或者按组合键Alt+M把MATLAB的命令窗口调到前台。可使用Notebook菜单中的【ToogleGraphOutputforCell】选项控制是否显示输入细胞或输出细胞的输出图形。11.1.2Excellink的使用1.Excellink的安装2.Excellink的启动3.Excellink的终止4.Excellink使用时需要注意的几个问题Excellink是在MicrosoftWindows环境下实现MicrosoftExcel和MATLAB进行交互的插件。使用Excellink时,不必脱离Excel环境。Excellink提供11条功能函数来实现数据的链接和操作。1.Excellink的安装系统需要在Windows环境下先安装Excel,然后再安装MATLAB和Excellink。Excellink随安装MATLAB时安装的,即在MATLAB安装组件中选中Excellink。需要在Excel中设置,具体步骤如下。启动MicrosoftExcel,单击工具菜单(Tools),执行【加载宏】命令,得到如下图所示的结果。在打开的【加载宏】对话框中单击【浏览】按钮,选择MATLAB安装目录下的\toolbox\exlink子目录里的excllink.xla文件,然后单击【确定】按钮,如下图所示。返回【加载宏】窗口,此时已经选中了【Excellink】选项,如下图所示。单击【确定】按钮后,Excellink插件即可加载MATLAB,并可以看到其运行窗口。2.Excellink的启动按照上面的设置,每次启动Excel时Excellink和MATLAB将自动运行。如果不希望Excellink和MATLAB自动运行,可以通过在Excel数据表单元中输入“=MLAutoStart(”no“)”即可改变设置,如下图所示。同时可以从Excel环境中手动启动Excellink和MATLAB。首先,在Tools菜单中选择【宏】选项,如下图所示;在如下图所示的对话框中输入“MATLABinit”,单击【执行】按钮后即可启动Excellink,并同时启动MATLAB。3.Excellink的终止当终止Excel的时候,Excellink和MATLAB会被同时终止。如果需要在Excel环境中终止MATLAB和Excellink的运行,则在工作表单元中输入“=MLClose()”即可,如下图所示。当需要重新启动Excellink和MATLAB时,可以使用MATLABinit命令。4.Excellink使用时需要注意的几个问题Excellink函数名对字母的大小写不作区分,而MATLAB函数名是区分大小写的。Excel工作表等式通常以“+”或“=”作为起始标记。在大多数Excellink函数中有两种定义变量的方式,即直接定义和间接定义。Excellink函数执行过程中其所在数据单元将一直显示其函数内容,函数执行完毕后,数据单元将被赋值为0。建议设置Excel【工具】工具菜单里【选项】的【编辑】页中【按Enter键后移动】选项为【向下】,以保证输入完毕且经确认后再改变当前工作单元。11.2编译器11.2.1编译器概述11.2.2编译器的安装和配置11.2.3编译器的使用MATLAB编译器是指将M文件作为其输入,同时生成独立的可执行文件或相关软件组件的程序,它可以由命令mcc调出。11.2.1编译器概述MATLAB编译器4.0版本采用了MATLABComponentRuntime(MCR)技术。MCR提供了对MATLAB语言的完全支持。MATLAB编译器采用了ComponentTechnologyFile(CTF)存档来组织配置文件包。所有的M文件均采用了高级加密标准(AES)进行了密钥为1024位的加密,保存为CTF格式。每一个由MATLAB编译器生成的应用程序或者共享库均有一个与之相对应的CTF存档。MATLAB编译器自动生成独立文件或软件组件。为了生成独立运行的MATLAB应用程序,只需要用来构成应用程序的M文件,然后编译器将会自动执行以下操作。依赖性分析;代码生成;存档生成;编译;链接。11.2.2编译器的安装和配置1.安装ANSIC/C++编译器2.安装MATLAB编译器3.配置编译器4.安装MCR1.安装ANSIC/C++编译器2.安装MATLAB编译器MATLAB编译器的安装过程包含在安装MATLAB之中,当选择Typical的安装模式时,MATLABCompiler会被自动选为MATLAB的安装组件。当选择Custom安装模式时,在默认情况下,MATLABCompiler选项是被选中的,如下图所示。3.配置编译器下面将介绍如何配置C或C++编译器,使其可以与MATLAB编译器一起进行工作。4.安装MCR将MATLAB安装路径中的\toolbox\compiler\deploy\win32子目录下的文件MCRInstaller.exe拷贝到其他路径;双击进行安装,直到提示安装结束。11.2.3编译器的使用1.编译指令mcc2.创建独立执行程序1.编译指令mcc不管是生成独立执行程序,还是C共享库以及软件组件,只要源码是M文件都可以借助编译命令mcc实现。2.创建独立执行程序下面以3个例子说明不同类型的编译过程。打开DOS窗口,将路径变更为exm2.exe所在目录,并运行exm2.exe,运行结果如下图所示。11.3应用程序接口11.3.1创建C语言MEX文件11.3.2Java接口11.3.3DDE技术11.3.4ActiveX技术MATLAB提供应用程序接口(ApplicationProgramInterface,API)来实现与其他外部程序的沟通。11.3.1创建C语言MEX文件1.MEX文件简介2.编写MEX文件源程序1.MEX文件简介MEX是MATLAB和Executable两个单词的缩写。MEX文件一般使用C或者Fortran语言编写,通过编译生成的目标文件能够被MATLAB调用执行。MEX文件主要应用于已存在较大规模的C或者Fortran程序。矩阵是MATLAB唯一能处理的对象,在C语言中矩阵用结构体mxArray来定义。2.编写MEX文件源程序编写MEX文件源程序时,要用到两类API库函数:mx-库函数,用于在C语言中创建、访问、操作和删除结构体mxArray;mex-库函数,用于与MATLAB环境进行交互。11.3.2Java接口Java语言是一种面向对象的高级编程语言。在MATLAB中可以直接调用Java的应用程序。利用MATLAB的Java接口可以完成下列工作:①调用JavaAPI类和包;②调用第三方Java类;③在MATLAB环境下创建Java对象;④通过Java语法或者MATLAB语法使用Java对象的方法;⑤在Java对象和MATLAB之间交互数据。在MATLAB中创建Java对象有两种方法:直接用Java类用函数javaObject()创建。11.3.3DDE技术1.DDE的一般性说明2.DDE中的MATLAB服务器3.DDE中的MATLAB客户动态数据交换(DynamicDataExchange,DDE)允许各Windows应用程序间交换数据的通信机制。Windows平台上的MATLAB作为一个应用程序,具有借助DDE与其他应用程序通信的功能。1.DDE的一般性说明应用程序可以借助DDE通话实现彼此间的通信。请求建立对话的应用程序称为客户(Client)响应对话请求的应用程序被称为服务器(Server)。当客户应用程序创建DDE对话时,必须识别被呼叫服务器的两个DDE参数:服务名(Servicename),即被请求对话的应用程序名;话题(Topic),即对话主题。由这两个参数构成了区分不同对话的惟一标识。2.DDE中的MATLAB服务器客户可以采用不同方法访问作为服务器的MATLAB。假如客户应用程序能够提供管理DDE对话的函数或宏,则应该充分利用它们;假如客户应用程序是自行编制的,则可利用MATLAB引擎库或直接利用DDE。MATLAB用作服务器时的工作原理如下图所示。DDE服务器模块MATLABDDE函数模块客户应用程序对话当MATLAB作为DDE服务器使用时,所能选用的具体名称和它们间的层次关系如下图所示。MATLABSystemEngineFormatSysItermsmatrixnameEngFigureResultEngStringResultEnEvalStringTopics服务Service话题Topic内容Items3.DDE中的MATLAB客户当MATLAB以客户身份建立DDE通信时,其工作原理如下图所示。DDE客户模块MATLABDDE服务器模块服务器应用程序对话在Excel开启的前提下,运行结果如以下两图所示。0510152005101520-10-5051011.3.4ActiveX技术1.ActiveX技术的一般性说明2.自动化客户3.自动化服务器1.ActiveX技术的一般性说明ActiveX是一种基于MicrosoftWindows操作系统的组件集成协议,是各种面向对象技术的集合。每个ActiveX都支持一个或多个赋名的界面,而界面是一组逻辑相关方法、属性和事件的组合。MATLAB支持两种ActiveX技术,即ActiveX控件和ActiveX自动化。MATLAB自动化客户的功能仅是MATLABActiveX控件功能的子集。2.
本文标题:第十一章外部接口_MATLAB全教学(安装使用运算编程仿真应用与接口)
链接地址:https://www.777doc.com/doc-2089493 .html