• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

MATLAB 与 Excel 接口

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

MATLAB Excel 接口
MATLAB Excel 有两种接口方式:一种是通过 MATLAB 提供的 Excel 生成器,生成
220 MATLAB 实用教程
DLL 组件和 VBA 代码,实现 Excel MATLAB 的调用;另一种是利用 MATLAB 提供的 Excel
link 插件,直接在 Excel 环境下运行 MATLAB 命令,完成与 MATLAB 的数据传输。下面介
绍的是第二种接口方式——Excel link
Excel Link Microsoft Windows 环境下实现 MATLAB Microsoft Excel 进行链接的插
件。通过 MATLAB Excel 链接,用户可以在 Excel 工作环境中利用宏工具及 MATLAB
据处理和图形处理功能进行相关操作,由 Excel link 进行 MATLAB Excel 工作环境中的数
据交换和同步更新。使用 Excel link 时,不必脱离 Excel 环境,可直接在 Excel 工作区或宏操
作中调用 MATLAB 函数。
11.2.1 Excel link 的安装和操作
1.系统需求
Excel link 需要的操作系统是 Microsoft Windows XPMicrosoft Windows NT Microsoft
Windows 2000,另外还需要 5.1 以上版本的 MATLAB Excel 98Excel 2000 Excel 2002
2Excel 中注册 Excel link
系统需要在 Windows 环境下先安装 Excel,然后再安装 MATLAB Excel link。安装 Excel
link,在 MATLAB 安装组件选择框中选中 Excel link 即可,安装完毕后必须在 Excel 中进行
相应设置,具体操作过程如下。
Þ 启动Excel
Þ 在【工具】菜单中选择【加载宏】选项,打开【加载宏】对话框,单击【浏览】。
Þ 在弹出的路径选择对话框中,选择“<matlabroot>\toolbox\exlink”下的Excel插件
excllink.xla”,单击【确定】按钮。
Þ 返回【加载宏】对话框,单击【确定】按钮,弹出MATLAB运行窗口。
Þ 稍后,Excel Link工具条在Excel工作窗口左上角出现。工具条包括 “startmatlab”,
putmatrix”,“getmatrix”和“evalstring4 个工具按钮(见图 11-2),分别为启动
MATLAB、将数据传给MATLAB、从MATLAB提取数据和执行MATLAB命令。

 


11-2 Excel Link 工具条
3.启动 Excel Link
启动 Excel Link 分自动启动和手动启动两种方式。
1)自动启动
安装和注册 Excel Link 之后启动 Excel 时,将自动启动 MATLAB Excel Link
如果用户不想在打开 Excel 时同时启动 MATLAB Excel Link,可在 Excel 数据表单元
11 章 编译器与外部接口 221
格中输入=MLAutoStart“no”)”后按 Enter 键,如图 11-3 所示,此函数将更改初始化文件,
再次启动该文件时 MATLAB Excel Link 不再自动启动。

 


11-3 A1 单元中输入“=MLAutoStart("no")
2)手动启动
Þ 单击【工具】菜单,选择【宏】。
Þ 在弹出 【宏】对话框的【宏名】文本框中输入“matlabinit”,单击【执行】按钮即可。
4.终止 Excel Link
终止 Excel 时,Excel Link MATLAB 将同时终止。要在 Excel 中终止 MATLAB Excel
Link 的运行,可在 Excel 数据表单元格中输入“=MLClose()”并按 Enter 键。重新启动时,
可在 Excel 数据表单元格中输入“=MLOpen()”后按 Enter 键或在【宏名】文本框中输入
matlabinit”手动启动。
11.2.2 Excel link 的函数
Excel Link 提供了一系列管理链接、操作数据的函数,可在 Excel 环境中通过宏或工作表
单元公式调用这些函数,实现 Excel Link MATLAB 的数据交换与同步更新。
1.链接管理函数
Excel Link 提供了四个链接管理函数来初始化、启动、终止 Excel Link MATLAB
Matlabinit:初始化 Excel Link 并启动 MATLAB 进程。
MLAutoStart:自动启动 MATLAB 进程。
MLClose:终止 MATLAB 进程。
MLOpen:启动 MATLAB 进程。
可在 Excel 的【工具】菜单中单击【宏】选项或在宏过程中调用 matlabinit 函数,其他链
接管理函数可用宏或工作表单元公式进行调用。
2.数据管理函数
Excel Link 提供了 9 个数据管理函数在 Excel MATLAB 之间复制数据、在 Excel 中运
MATLAB 命令。
Matlabfcn:对给定 Excel 数据运行 MATLAB 命令。
Matlabsub:对给定 Excel 数据运行 MATLAB 命令并指定输出位置。
MLAppendMatrix:将 Excel 工作表中数据创建或添加到 MATLAB 矩阵。
MLDeleteMatrix:删除 MATLAB 矩阵。
222 MATLAB 实用教程
MLEvalString:运行 MATLAB 命令。
MLGetMatrix:将 MATLAB 矩阵内容写到 Excel 工作表中。
MLGetVar:将 MATLAB 矩阵内容写到 Excel VBA 变量中。
MLPutMatrix:用 Excel 工作表中数据创建或覆盖 MATLAB 矩阵。
MLPutVar:用 Excel VBA 变量数据创建或覆盖 MATLAB 矩阵。
MLGetVar MLPutVar 只能在宏中调用,其他函数可通过宏或工作表单元公式调用。
3Excel link 实例
下面通过工作表对一组数据进行曲线拟合,说明 Excel link 的使用方法。
创建 Excel_example.xls 文件,如图 11-4 所示,DATA 下的第一列、第二列分别为数值 X
Y

 


11-4 创建 Excel_example.xls 文件
选择单元 E4,按 F2 键,回车执行 Excel link 函数 MLPutMatrix("x",A4:A15),它将 A4:A15
发送到 MATLAB 并给变量数组 x 赋值。对 E5 进行类似操作,将框中第二列数据赋值给 y
E9E10 执行类似操作,依次执行下列语句:
MLEvalString("p=polyfit(x\',y\',3)")
MLEvalString("newfit = polyval(p,x)")
这两条语句是MATLAB中执行双引号中命令,对数据点用y=ax3+bx2+cx+d进行曲线拟合。
E11 中执行命令:
MLEvalString("a=p(1);b=p(2);c=p(3);d=p(4)")
该语句是 MATLAB 中将拟合系数分别给 abcd 赋值。
E14E15E16E17 中分别执行命令:
MLGetMatrix("a","E21")
MLGetMatrix("b","F21")
MLGetMatrix("c","G21")
MLGetMatrix("d","H21")
11 章 编译器与外部接口 223
4 条语句分别是 MATLAB 中将 abcd 传给 Excel 中单元格 E21F21G21H21
E18 中执行命令:
MLEvalString("plot(x,newfit,\'-\' ,x,y,\'o\')")
该语句利用 MATLAB 绘图函数显示原始数据和拟合曲线,结果如图 11-5 所示。
<


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi中的MD5实现方法及delphi2009和delphi2010中用法发布时间:2022-07-18
下一篇:
Delphi–我的代码之简单五子棋发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap