电子表格链接™ 函数管理之间的连接和数据交换微软®擅长®和MATLAB®,而不离开Microsoft Excel环境。
要执行电子表格链接功能,您必须:
了解这些函数和Microsoft Excel功能。
根据实际情况选择合适的功能类型、执行方法和计算模式。
决定如何指定函数和参数。
在Microsoft Excel,输入电子表格链接功能类似于Microsoft Excel功能。的差异包括:
电子表格链接函数执行一个动作,同时Microsoft Excel函数返回一个值。
电子表格链接函数名不区分大小写。进入要么MLPutMatrix
或MLPUT矩阵
执行MLPutMatrix
作用
MATLAB函数名和变量名是区分大小写的。例如,纽带
,纽带
,债券
是三个不同的MATLAB变量。
电子表格链接中有链接管理和数据管理功能。
链接管理功能初始化、启动和停止电子表格链接和MATLAB软件。执行matlabinit
Excel中的函数工具>宏菜单或宏子程序。
数据管理功能之间的数据复制Microsoft Excel以及MATLAB工作空间。这些函数在中执行MATLAB命令Microsoft Excel. 除了姆普特瓦尔
和MLGetVar
,您可以以工作表单元格公式或VBA宏的形式执行任何数据管理功能。的姆普特瓦尔
和MLGetVar
函数只在VBA宏中执行。
您可以使用这些不同的方法执行电子表格链接函数。
执行方法 | 优势 | 限制 |
---|---|---|
Microsoft Excel带子 |
快速访问常用的电子表格链接功能在MATLAB组:
|
无法使用完整的电子表格链接功能。 |
Microsoft Excel上下文菜单 |
快速访问工作表单元格中的通用电子表格链接功能:
|
无法使用完整的电子表格链接功能。 |
Microsoft Excel工作表细胞 |
|
你不能执行 |
Microsoft ExcelVBA宏 |
|
需要了解微软Visual Basic®. |
MATLAB函数向导 |
|
在工作表单元格中指定电子表格链接函数时,请以+
或=
签名然后,将函数参数括在括号中。此示例公式使用MLPutMatrix
函数在单元格中导出数据10大
进入矩阵A.
.
= MLPutMatrix(“A”,C10)
在VBA宏中,在函数名和第一个参数之间留一个空格。不要使用括号。
C10 MLPutMatrix“A”
要在操作完成时更改活动单元格,请选择Excel工具选项>编辑>输入后移动选区. 此操作为长时间操作提供了有用的确认。
电子表格链接功能在自动计算模式中是最有效的。要自动重新计算电子表格链接函数,请将单元格引用添加到值发生变化的单元格。例如,MLPutMatrix
当单元格中的值C1
变化。
=MLPUT矩阵(“键”,D1:G26)+C1
使用MLPutMatrix
在手动计算模式下:
将函数输入单元格。
按地上二层.
按进来.执行的函数。
电子表格链接功能不会自动调整单元格地址。如果在函数中使用显式单元格地址,请在执行以下操作时编辑函数参数以引用新的单元格地址:
插入或删除行或列。
将函数移动或复制到另一个单元格。
您可以在电子表格链接函数中使用变量名或引用参数的数据位置来指定参数。
注:
电子表格链接函数需要默认的引用样式(A1)工作表单元格引用。列必须用字母指定,行必须用数字指定。如果工作表显示的列是用数字而不是字母指定的,请执行以下步骤:
选择工具>选择权.
单击全体的选项卡。
在下面设置、清晰的R1C1参考风格复选框。
在大多数电子表格链接函数中,可以直接或间接地指定变量名参数。
要直接指定变量名,请将其用双引号括起来,例如:= MLDeleteMatrix(“债券”)
.
若要将变量名指定为间接引用,请在不带引号的情况下输入变量名。该函数计算参数的内容以检索变量名。参数必须是工作表单元格地址或范围名;例如,=MLDeleteMatrix(C1)
.
笔记
电子表格链接函数不支持全局变量。在Excel和MATLAB之间交换数金宝app据时,软件使用基本工作空间。在清除基本工作区中的变量或结束MATLAB会话之前,这些变量一直存在。
数据位置参数必须是工作表单元格地址或范围名称。
不要将数据位置参数括在引号中(除了MLGetMatrix
,它有独特的参数约定)。
数据位置参数可以包括一个工作表编号,例如活页3!B1:C7
或第二张!输出
.
提示:
中可以引用特殊字符作为工作表名称的一部分MLGetMatrix
或MLPutMatrix
通过将工作表名称括在单引号内(''
).
在MATLAB函数向导中找到MATLAB函数或自定义函数后,可以指定语法和参数。然后,电子表格链接指定该命令用于在MATLAB工作空间中进行评估。
要执行具有多个输出的MATLAB函数,请指定输出的位置。
使用指定单元格的目标范围可选输出细胞(s)字段使所选函数作为参数显示在当前工作表单元格中matlabsub
.的matlabsub
函数包含一个参数,该参数指示在何处写入输出。例如,来自A2
输入到兰德
函数和输出的目标单元格为地下二层
:
=matlabsub(“兰德”,“Sheet1!$B$2”,Sheet1!$A$2)
尽管函数向导允许您指定多个输出单元格,但它不会返回多个输出。如果指定输出单元格的范围,向导将返回从第一个输出单元格开始的第一个输出参数。例如,如果函数返回两个元素A.
和B
,然后指定A1:A2
作为输出单元格,将显示“函数向导”A.
在细胞A1
.函数向导丢弃元素B
.如果输出是一个矩阵,函数向导将显示该矩阵从第一个输出单元格开始的所有元素。
有关多个输出参数,请参见从MATLAB函数返回多个输出参数.
要执行多个MATLAB函数或使用MATLAB对象,请编写包装函数。
函数向导不允许同时执行多个MATLAB函数。改为编写包装器函数。例如,从彭博社绘制历史收盘价数据®,在MATLAB中输入此代码,并将其保存为函数。
函数布卢姆伯格达塔(s)% plotbloombergdata是一个包装器函数,连接到%彭博社(R),检索历史收盘价数据%,并绘制给定价格的图%彭博(R)安全c=blp;f=“最后价格”; 起始日期=“01/01/2015”;迄今为止,=“12/31/2015”; d=历史(c、s、f、fromdate、todate);绘图(d(:,1),d(:,2))关闭(c)终止
具体写功能请参见在文件中创建函数.
Microsoft Excel没有MATLAB对象的上下文。要使用MATLAB对象,比如到服务提供者的连接,需要编写一个包装函数。包装器函数执行创建和操作这些对象的函数。
matlabinit
|matlabfcn
|MLGetMatrix
|MLPutMatrix
|MLEvalString