文档详情

Matlab和Excel混合编程.docx

发布:2017-06-07约6.93千字共13页下载文档
文本预览下载声明
Matlab和Excel混合编程 2011-07-18 21:26:17| 分类:  HYPERLINK /blog/ \l m=0t=1c=fks_084064086082081075092087080095085094080068083086087069087 \o Excel VBA Excel VBA | 标签: |举报 |字号大中小 订阅 MATLAB与Excel的混合编程有两种方式:(1)利用MATLAB提供的Excel Link插件,实现Excel与 MATLAB 的数据共享;(2)利用MATLAB提供的Excel生成器,生成dll组件和VBA代码,dll组件可以进行COM生成器 组件相似的操作,VBA代码则可以在Excel的Visual Basic编译器中直接使用,可以保存为插件. 第一种方法:通过Excel Link实现Excel和MATLAB的数据共享 1.Excel Link是一个软件插件,它可将Excel与MATLAB进行集成,通过MATLAB与Excel的链接,用户可 以在Excel的工作空间中,利用Excel的宏编程功能,使用MATLAB的数据处理和图形处理功能进行相关操 作,同时Excel保证MATLAB和Excel工作空间数据的交换和同步更新。使用Excel Link时,不必脱离Excel 环境,而直接在Excel的工作区或者宏操作中调用MATLAB函数,Excel提供了11个函数来实现链接和数据 操作。 2.Excel Link的安装 Excel Link对运行环境没有要求,只要能够同时运行MATLAB和Excel即可,大概要200KB的空间,在 Windows平台下要求先安装Excel,再安装MATLAB。Excel Link的安装步骤如下:(1)启动Excel,选择菜单 栏中的“工具(Tools)”,执行“加载宏”命令;(2)在打开的“加载宏”对话框中单击“浏览”按钮, 选择用户自己的\matlab\toolbox\exlink路径下的excellink.xla文件(可能是隐藏文件),然后单击“确 定”按钮。(3)返回“加载宏”窗口,此时已经选中了“Excel link”选项,单击“确定”按钮;(4)重 新启动Excel就可以看到多一行“Spreadsheet link EX”工具栏。 3.设置Excle link的启动方式 在启动Excle时,如果不希望同时启动Excel link和Matlab,在Excel数据表单元中输入 “=MLAutoStart(no)”。 手动启动Excel link和Matlab,在菜单中选择“宏”,在打开的“宏”对话框中输入“MATLABinit ”,单击“执行”按钮。 在Excel环境中启动或终止Excel link和Matlab,在单元格中输入“=MLOpen()”或“=MLClose()” 。 4.Excel Link的数据管理函数 Excel提供了9个数据管理函数,实现MATLAB与Excel之间的数据复制,并可在Excel中执行MATLAB命 令。 MATLABfcn() 对于给定的Excel数据,运行MATLAB命令 MATLABsub() 对于给定的Excel数据,运行MATLAB命令并指定输出位置 MLDeleteMatrix() 删除MATLAB矩阵 MLEvalString() 执行MATLAB命令 MLGetMatrix() 向Excel数据表中写入MATLAB矩阵的数据内容 MLGetVar() 向Excel数据表VBA写入MATLAB矩阵的数据内容 MLAppendMatrix() 向MATLAB空间添加Excel数据表的数据 MLPutMatrix() 向Excel数据表创建或覆盖MATLAB矩阵 MLPutVar() 向Excel数据表VBA创建或覆盖MATLAB矩阵 下面详细介绍一下它的用法: (1) Matlabfcn 根据给定的Excel数据执行Matlab命令。 在工作表中使用时的语法:matlabfcn(command, inputs) 参数command,Matlab将执行的命令,命令需要写成“command”(使用双引号引起来)的形式。参 数 inputs 传给Matlab命令的变长输入参数列表。列表是包含数据的工作表单元格范围。函数返回单一 数值或者是字符串,结果返回到调用函数的单元格中。 例如matlabfcn(”sum”,B1:B10);把从B1到B10的单元格中数据相加。 (2) Matlabsub 根据给定的Excel数据执行Matlab命令,并将结果返回到指定的单元格中。 在工作表中的使用语法:matlabsub(command,edat,inputs) command和inputs参数的与
显示全部
相似文档