怎样把excel中的数据导入matlab中
将excel中的数据导入matlab教程的方法步骤
将excel中的数据导入matlab教程的方法步骤在Excel中经常录入好数据以后都会有导入到matlab中去,这个功能也比较常用,如果还不会的朋友不妨学习一下。
接下来是店铺为大家带来的如何将excel中的数据导入matlab的教程,希望对你有用。
将excel中的数据导入matlab的教程Excel导入matlab步骤1:将待导入的矩阵结构的数据录入Excel 中,录入时注意行列要跟原矩阵一一对应Excel导入matlab步骤2:录入完以后保存数据,为了后续步骤使用方便,命名时我们最好把它命名为我们接下来在MATLAB中要引用的变量名(比如在MATLAB中要将该矩阵作为B矩阵参与运算,就可以把它命名为B.xls,xls为文件扩展名)将excel中的数据导入matlab的教程图2Excel导入matlab步骤3:运行MATLAB程序,点击工具栏上的Import Data工具按钮将excel中的数据导入matlab的教程图3Excel导入matlab步骤4:在弹出的“Import Data”对话框中找到前面保存的数据文件(B.xls),“打开”将excel中的数据导入matlab的教程图4Excel导入matlab步骤5:弹出“Import”窗口,在窗口工具栏左侧导入选项中选择“Matrix(矩阵)”,然后点击工具栏右侧的“勾”,导入数据将excel中的数据导入matlab的教程图5Excel导入matlab步骤6:关闭“Import”窗口,回到MATLAB 主程序,在WorkSpace(工作空间)中可以看到刚刚导入矩阵变量,接下来就可以对矩阵进行运算了将excel中的数据导入matlab的教程图6Excel导入matlab步骤7:每次关闭MATLAB程序都会将工作空间中的变量清空,所以如果经常用到该变量,不妨将该变量保存为MAT文件将excel中的数据导入matlab的教程图7将excel中的数据导入matlab的教程图8Excel导入matlab步骤8:这样一来每次打开MATLAB,只需要双击MAT文件便可以将变量导入工作空间将excel中的数据导入matlab的教程图9猜你喜欢:1.怎么将Excel数据导入MATLAB中2.怎么将外来数据导入excel20103.怎么将txt中的数据导入到excel20074.如何利用excel进行数据分析的教程5.如何用excel进行数据分析的教程6.怎么在Excel中输入分数7.怎么实现Excel与ppt2010数据同步。
如何将Excel中的数据导入MATLAB并在MATLAB中画出图像
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),在MATLAB中使用命令xlsread读取Excel中的数据到MATLAB里,如下所示:[number,txt,raw]=xlsread(''),此时读取的文件须在MATLAB默认路径下,命令具体用法及参数含义可直接用help命令在MATLAB中查找。
读取的数据界面如下:
1.如何将Excel中的数据导入MATLAB并在MATLAB中画出图像?
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),file-Import Data-在工作路径下找到需要导入的文件(图3)-点击打开(图4)-点击next-点击finish-导入成功-在workspace中看到图5(导入的数据)。
至此数据导入成功。
下面是如何利用该数据绘图:
法一:双击workspace中的data打开如图6,选中要画图的数据如图7(数据范围可以根据需要随便选择),点击上方的plot(data(1:874,1:2),画出图像如图8,并且在工作空间中自动显示画图命令。
法二:直接在工作空间中写画图命令。
图3
图4
图5图6图7图8。
MATLAB如何读取excel文件中的数据
1.读取sheet1中的所有数据
引用的文件名要包括后缀.xls,同时xls文件要位于当前搜索路径中(默认安装目录下work 文件夹中)才可以引用excel数据
默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MA TLAB主窗口中输入下面命令:[NUM,TXT,RAW]=xlsread('example'),其中example是你的excel名,这里我所有的数据都在example.xls中。
输入以上命令,回车
NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。
一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。
2读取指定sheet中的数据
假如我们想读取第二个sheet中的数据,这里请注意:matlab读取excel中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在第二位,我们输入命令[NUM]=xlsrea d('example',2),回车
3 读取指定单元格中的数据
假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('example',2,'A3:D7'),回车。
如何将Excel中的数据导入MATLAB并在MATLAB中画出图象
1.如何将Excel中的数据在MATLAB界面下显示出来:
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),在MATLAB中使用命令xlsread读取Excel中的数据到MATLAB里,如下所示:[number,txt,raw]=xlsread('noise.xlsx'),此
时读取的文件须在MATLAB默认路径下,命令具体用法及参数含
义可直接用help命令在MATLAB中查找。
读取的数据界面如下:
2.如何将Excel中的数据导入MATLAB并在MATLAB中画出图像?
首先Excel必须是office的(WPS的不可以,MATLAB不能识
别),file-Import Data-在工作路径下找到需要导入的文件(图3)-点击打开(图4)-点击next-点击finish-导入成功-在workspace中看到图5(导入的数据)。
至此数据导入成功。
下面是如何利用该数据绘图:
法一:双击workspace中的data打开如图6,选中要画图的数据如图7(数据范围可以根据需要随便选择),点击上方的
plot(data(1:874,1:2),画出图像如图8,并且在工作空间中自动显示画图命令。
法二:直接在工作空间中写画图命令。
图3
图4
图5
图6
图7
图8。
如何将Excel中的数据导入MATLAB并在MATLAB中画出图像
1.如何将Excel中的数据在MATLAB界面下显示出来:
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),在MATLAB中使用命令xlsread读取Excel中的数据到MATLAB里,如下所示:[number,txt,raw]=xlsread('noise.xlsx'),此时读取的文件须在MATLAB默认路径下,命令具体用法及参数含义可直接用help命令在MATLAB中查找。
读取的数据界面如下:
2.如何将Excel中的数据导入MATLAB并在MATLAB中画出图像?
首先Excel必须是office的(WPS的不可以,MATLAB不能识别),file-Import Data-在工作路径下找到需要导入的文件(图3)-点击打开
(图4)-点击next-点击finish-导入成功-在workspace中看到图5(导入的数据)。
至此数据导入成功。
下面是如何利用该数据绘图:法一:双击workspace中的data打开如图6,选中要画图的数据如图7(数据范围可以根据需要随便选择),点击上方的plot(data(1:874,1:2),画出图像如图8,并且在工作空间中自动显示画图命令。
法二:直接在工作空间中写画图命令。
图3
图4
图5
图6
图7
图8。
如何将Excel中的数据导入MATLAB并在MATLAB中画出图像
1. 如何将Excel中的数据在MATLA界面下显示出来:首先Excel必须是office 的(WPS勺不可以,MATLA不能识别),在MATLA中使用命令xlsread读取Excel中的数据到MATLA里,如下所示:[number,txt,raw]=xlsread('noise.xlsx'),此时读取的文件须在MATLA默认路径下,命令具体用法及参数含义可直接用help 命令在MATLA中查找。
读取的数据界面如下:[0.2i60][0.24SO][0.2500][0.2520][0.2540][0.2560][0.2580][0.25Q0][0.2620][0. 2640][0. 2660][0.2680][0.2700][0.2720][0.2740][0. 2760][23.6000][ 28][30.4000]125-2000][ 18][19.2000][2L 2000][17. 20Q0][16.SOOO][17.6000][13.6000][11.2000][13.6000][13.2000][ 10][12.4000]2. 如何将Excel中的数据导入MATLA并在MATLA中画出图像?首先Excel必须是office 的(WPS勺不可以,MATLA不能识别),file-Import Data- 在工作路径下找到需要导入的文件(图3)-点击打开(图4)-点击next-点击finish- 导入成功-在workspace中看到图5 (导入的数据)。
至此数据导入成功。
下面是如何利用该数据绘图:法一:双击workspace中的data打开如图6,选中要画图的数据如图7 (数据范围可以根据需要随便选择),点击上方的plot(data(1:874,1:2),画出图像如图8,并且在工作空间中自动显示画图命令。
法二:直接在工作空间中写画图命令。
>> [number, txt raw!=zlsr*ad C noise.xlsz J)riunber 二0.246023. 60000.24SC 2& 00000.2500 30. 40000. 2520 25.20000. 2E40 18. 00000.2560 2000Di 2580 21. 20000.2600 17.20000. 2620 16.30000. 2640 17. 60000. 13. 60000* 26SA 1],20000. 2700 13. SQ00Import Data査找范圉(X):库计算机网貉名称'悸改日期,,noise.rriat2014/3/1S 19:181^gnoisenKlsx2014/3/1& 19:01I HKTIAB ▼> ®文件名曲):iriOL XISX文件类型⑴;Recognized Filww取消 |JJWorkspace圄■鱼1鲂I^Lr Select data ...〒Name *田[甌Value<874x2 double* rrrCommand Window■+* □ ? X>> plol (datadia?^ I. = 2), J DisplayMafte J p J dataCl;874? 1;2)a ? J YDataSource 1/ data(i:B74? 1:2^ ) .f igurt (ecf)九—K —图81 f 4New to MATLAB? Watch thi$ Sdg see 口旳口轧 or read Getting 5t^rt 亡cLNew Parallel D”ktq 因❼Ctirrent F file Edit 0ew Ins-ert lo&ls Desktop Window Help□ U 矗B |輿耳U 物穏摇TO □囲I ■口IXCommaHd Window。
《金融数量分析 》第3章 MATLAB与Excel文件的数据交换
回到加载宏对话框,接着选择Excel Link2.3 for use with MATLAB 选项,单击“确 定”按钮,如图1所示。
若Excel的左上方出现start matlab、putmatrix、getmatrix、evalstring 等选项,说明 ExcelLink加载成功,如图2所示。
2. data= xlsread(filename, sheet, range)
输入参数: Ø filename:目标文件地址(若文件在MATLAB当前的工作目录中, filename为“文件名”,如果文件不在MATLAB当前的工作目录中, filename为“文件路径\文件名”); Ø sheet:数据表名称,例如Excel默认表名称sheet1; Ø range:数据所在位置,例如A1、B13等。
3.1 案例背景
Excel是一款非常优秀的通用表格软件,在学习、工作与科研中 大量的数据可能都是以Excel表格的方式存储的。Excel在矩阵计算、 数据拟合与优化算法等方面的功能尚不足,Excel与MATLAB相结合 是处理复杂数据问题的有效方法。
如何利用MATLAB强大的数值计算功能处理Excel中的数据,首 要解决的问题就是如何将Excel中的数据导入MATLAB中或将 MATLAB数值计算的结果转存入Excel中。
3. 5.2 smoothts函数
smoothts函数的输入参数input是一个金融时间序列对象或行导向矩阵,其中 金融时间序列对象是MATLAB中由ascii2fts或fints函数所创建的一种对象,行导 向矩阵是指用行表示观测数据集的矩阵,若input是一个行导向矩阵,input的每 一行都是一个单独的观测集。
输出参数: Ø data: 数值数据。
matlab与excel
8.[num, txt]= xlsread(filename, …) 返回数字矩阵 num 和文本数据 txt. txt 是一个元胞数组,如同例 7.1-1 中的 textdata,txt 中与数字对应 位置的元胞为空字符串( '')。 9.[num, txt, raw] = xlsread(filename, …) num 和 txt 的解释同上,返回的 raw 为未经处理的元胞数组,既包含数字,又包含文本数据。
第 7 章 MATLAB 与 Excel 文件的数据交换
郑志勇 (),谢中华 Excel 是一款非常优秀的通用表格软件,在学习、工作与科研中大量的数据可能都是以 Excel 表格的 方式存储的。如何利用 matlab 强大的数值计算功能处理 Excel 中的数据,首要解决的问题就是如何将 Excel 中的数据导入到 matlab 中或将 matlab 数值计算的结果转存入 Excel 中?为此,本章主要介绍以界面 操作方式(数据导入向导)、函数方式和 exlink 宏方式实现 matlab 与 Excel 的数据交互。
>> data data = 1 2 3 4 5 … >> textdata textdata = 60101 60101 60101 60101 60101 6010101 6010102 6010103 6010104 6010105 NaN NaN NaN NaN NaN 0 0 0 0 0 63 73 0 82 80 63 73 0 82 80 % 查看导入的变量 data
7.1 利用数据导入向导导入 Excel 文件
可以利用数据导入向导把 Excel 文件中的数据导入到 MATLAB 工作空间,步骤与 6.2.1 节相同。 【例 7.1-1】把 Excel 文件 examp71_1.xls 中的数据导入到 MATLAB 工作空间。examp71_1.xls 中的数 据格式如图 7.1-1 所示。
Matlab导入Excel数据
方法二利、用xlsread命令导入Excel数据:
首先需要将Excel文件保存到当前Matlab路径下-->新建m文件-->输入 data=xlsread(filename,sheet,xlRange),其中filename是Excel文件名,sheet是要导入数据所 在的sheet,xlRange是数据表中的范围。
方法三:利用dir命令导数包含字符串的Excel数据:
使用dir命令读入文件名,再用赋值命令得到所要数据。此时导入的file中不
止有数据,还有其他字符串,比如汉字、日期之类数据的三种方法做一下总结 1.打开Matlab; 2.方法一:利用Matlab自带数据导入工具导入数据,选择导入数据 类型; 3方法二:利用xlsread(filename,sheet,xlRange),命令导入数据,要 求Excel文件在当前文件夹路径下; 4.方法三:若要导入的不止有数据还包括其他的字符串,就用 dir(‘*.xlsx’)命令导入一个结构体,在从结构体中取出想要的部分;
Matlab导入Excel数 据
MATLAB导入EXCEL数据的三种方法:
比如数学建模之类的很多地方都需要将Excel中的数据导入Matlab中进行处理。 这里告诉你三种Matlab导入Excel数据的方式。
在电脑桌面双击Matlab图标,进入Matlab,第一次打开Matlab可能需要一段时间, 请耐心等待。一般来说固态硬盘的要比机械硬盘快很多。
方法一:使用Matlab"数据导入"工具导入Excel数据:
1.点击主页-->在变量工具栏找到"数据导入“ 2.找到要导入数据的Excel表左键点击-->打开
MATLAB和其他软件数据连接
MATLAB和Excel数据连接
Excel Link 的使用
直接把数据输入到Mຫໍສະໝຸດ TLAB中3. 单击“putmatrix”按钮弹出一个菜单,根 据菜单提示将Excel中数据用鼠标选定, 传输到MATLAB中变量名为ytg_000088, 然后单击“确定”按钮
3. 4. 5.
6.
25
7.
MATLAB和Excel数据连接
Excel Link 的使用
MATLAB中自带Excel文件介绍
用二叉树方法计算欧式看跌期权价格
1. 打开”sheet4”,数据B4:B10名称是bindata ,分别存放股票价格、行权价、 无风险利率、期权存续期(5/12)、时间离散步长(1/12)、股票标准差 以及是否是欧式(美式)期权,B15开始存放二叉树各节点价格 asset_tree,B23开始存放现金流value_tree 2. 激活D5单元,将Excel中bindata传到MATLAB变量b中,激活D12单元,调 用MATLAB中计算二叉树函数binprice,其二叉树数据结果保存在变量p中, 价格保存在变量o中。激活D11、D12,分别保存在MATLAB变量 asset_tree与value_tree中,注意B15与B23分别是asset_tree与 value_tree的起点。
MATLAB和Excel数据连接
Excel Link 的使用
简易方法将Excel数据导入MATLAB
1. 在Excel中建立一个数据文件
Excel Link 的使用
数据管理函数
函数 MATLABfcn MATLABsub 作用 对于给定的Excel数据运 行MATLAB命令 对于给定的Excel数据运 行MATLAB命令,并制 定输出位置 函数 MLAppendMatrix MLPutMatrix 作用 向MATLAB 工作区添加 Excel数据表 用Excel数据表创建或覆 盖MATLAB数据 用Excel数据表VBA创建 或覆盖MATLAB数据 向Excel数据表VBA写 MATLAB数据内容
MATLAB导入txt和excel文件技巧汇总:批量导入、单个导入
MATLAB导⼊txt和excel⽂件技巧汇总:批量导⼊、单个导⼊在使⽤MATLAB的时候,想必各位⼀定会遇到导⼊数据的问题。
如果需要导⼊的数据其数据量巨⼤的话,那么在MATLAB编辑器中将这些数据复制粘贴进来,显然会在编辑器中占据巨⼤的篇幅,这是不明智的。
⼀般来说储存这些数据的⽂件有两种形式:txt⽂件excel表格针对这两种类型的⽂件,需要使⽤两个不同的函数。
就导⼊txt⽂件来说,个⼈习惯使⽤importdata这个函数。
@⽬录导⼊txt⽂件01 | 导⼊全是数字类型的txt⽂件(⼀)如果导⼊的txt⽂件中,储存的数据全是数字类型的,且同⼀⾏的两个数字之间使⽤空格或者制表符进⾏分隔。
这种形式的txt⽂件如下所⽰。
储存这种形式数据的txt⽂件直接使⽤如下代码即可。
present01=importdata('present01.txt');在MATLAB运⾏之后的结果如下:02 | 导⼊全是数字类型的txt⽂件(⼆)如果数据不像刚才给出的数据那么规整,那么就不能继续使⽤上⾯的代码了如果txt⽂件储存如下的数据:很明显这个txt⽂件,第⼀⾏只有1,第⼆⾏有2和3,第三⾏有4、5、6和7,第四⾏有8、9、10和11,第五⾏有12、13、14和15。
如果我们继续使⽤上⾯的代码,看看能否成功导⼊数据。
present02=importdata('present02.txt');在MATLAB运⾏之后结果如下,是⼀个15⾏1列的矩阵,这个很明显和我们想要的形式不太⼀样。
可以发现前两⾏的数据个数与后三⾏的数据个数不同,所以在实际导⼊的时候需要分开导⼊,这时可以使⽤如下代码导⼊present02.txt⽂件。
filename='present02.txt'; %⽂件名delimiterIn = ' '; %列分隔符headerlinesIn = 2; %读取从第 headerlinesIn+1 ⾏开始的数值数据present02=importdata(filename,delimiterIn,headerlinesIn);dataset=present02.data; %导出的3⾏以后的数据,即3⾏4列的矩阵parameters=present02.textdata; %导出的2⾏以前的数据,即2⾏1列的元胞数组filename是⽂件名delimiterIn是列分隔符,也就是同⼀⾏的两个数据之间是如何分隔的,可以是空格,也可以是制表符,也可以是逗号headerlinesIn表⽰读取从第 headerlinesIn+1 ⾏开始的数值数据,因为前两⾏的数据个数与后三⾏的数据个数不同,所以这⾥headerlinesIn = 2,即从读取从第 3⾏开始的数值数据。
如何将Excel中的数据导入MATLAB并在MATLAB中画出图像
1.如何将Excel中的数据在MATLAB界面下显示出来:
首先Excel必须就是office的(WPS的不可以,MATLAB不能识别),在MATLAB中使用命令xlsread读取Excel中的数据到MATLAB里,如下所示:[number,txt,raw]=xlsread('noise、xlsx'),此时读取的文件须在MATLAB默认路径下,命令具体用法及参数含义可直接用help命令在MATLAB中查找。
读取的数据界面如下:
2.如何将Excel中的数据导入MATLAB并在MATLAB中画出图像?
首先Excel必须就是office的(WPS的不可以,MATLAB不能识别), Data-在工作路径下找到需要导入的文件(图3)-点击打开(图4)-点击next-点击finish-导入成功-在workspace中瞧到图5(导入的数据)。
至
此数据导入成功。
下面就是如何利用该数据绘图:
法一:双击workspace中的data打开如图6,选中要画图的数据如图7(数据范围可以根据需要随便选择),点击上方的plot(data(1:874,1:2),画出图像如图8,并且在工作空间中自动显示画图命令。
法二:直接在工作空间中写画图命令。
图3
图4 图5
图6
图7
图8。
MATLAB与Excel文件的数据交换
%code by ariszheng@ %2010-6-22 %% %文件名称“excel.xls” [typ, desc, fmt] = xlsfinfo('excel.xls') %文件在当前工作目录下,直接输入文件名称即可。 system('taskkill /F /IM EXCEL.EXE');
注释:在用 matlab2009a 与 Excel2007 进行数据交互时,每次使用 xls 类函数,都会重新开启一个 Excel 进程,若反复使用 xls 类函数会导致系统中多个 Excel 进程并存,消耗系统资源,导致系统运行速度 下降,故作者使用 system('taskkill /F /IM EXCEL.EXE')调用 windows 的 taskkill 函数关闭刚使用的 Excel 进 程。 本例输出结果如下:
'总成绩' '' '' '' '' ''
'备注' '' '' '缺考' '' ''
7.2 调用函数读写 Excel 文件
7.2.1 调用 xlsfinfo 函数获取文件信息 在读取 Excel 目标数据文件前,可以通过 xlsfinfo 函数获取该文件的相关信息,为后续操作获得有效 信息(例如,文件类型、文件内部结构、相关的软件版本等)。 xlsinfo 函数的调用格式如下:
matlab数据导入
一将excel数据导入直接将下面三句话导入[filename, pathname]= uigetfile('*.xls'); %寻找源文件file=[pathname filename]; %赋名x=xlsread(file); %格式转换为矩阵之后就用x来代表导入的这个矩阵。
如excel 里输入了1 2 34 5 6如下命令x(1,:)ans =1 2 3二 txe文件导入假定名为 test.txt 的文件中以下为文件内容"你好,我的数据欢迎来到动力学与控制技术论坛1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555"这样的文件怎么读入数据呢?方法有多种,现举两个比较简单实用的。
方法一:在文件菜单中选择 file/import data,按照提示进行操作至结束。
在 command 窗口中输入>> whosName Size Bytes Classdata 5x4 160 double array textdata 4x1 300 cell arrayGrand total is 54 elements using 460 bytes>> datadata =1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555>> textdatatextdata ='你好''欢迎来到''动力学与控制技术论坛'''方法二:[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f 等。
MATLAB如何导入excel数据
下面我就通过实例介绍一下MATLAB如何导入excel数据。
1.读取sheet1中的所有数据
我们以03版excel为例,假设excel中数据为
默认这些文本以及数字都放在sheet1中,我们将此excel选入当前工作目录(必要步骤),然后再MATLAB主窗口中输入下面命令:[NUM,TXT,R AW]=xlsread('example'),其中example是你的excel名,这里我所有
的数据都在example.xls中。
输入以上命令,回车
NUM返回的是excel中的数据,TXT输出的是文本内容,RAW输出的是未处理数据,这里因为文本占用的矩阵一共是8行6列,所以就输出了如上内容。
一般情况下,我们读取的都是excel中的数据,所以可以直接用[NUM]=xlsread('example'),只输出数据矩阵便可。
2.读取指定sheet中的数据
假如我们想读取第二个sheet中的数据,这里请注意:matlab读取exce l中的数据是按照sheet在excel中的排放顺序来的,sheet3现在排在
第二位,我们输入命令[NUM]=xlsread('example',2),回车结果如下:
3.读取指定单元格中的数据
以sheet2中的数据为例
假设我们读取A3-D7之间的数据,那么我们输入命令[NUM]=xlsread('ex ample',2,'A3:D7'),回车,结果如下:
4.如果以上经验有用,请点击下方的有用按钮支持我的工作,谢谢!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例如:MLGetMatrix(”a”,”sheet1!B1”);
将矩阵a写入工作表sheet1以单元格B1起始的位置,如果a是一个2行3列的矩阵,则矩阵占据sheet1的B1到D2的空间。如果在A1中有字符串a,则MLGetMatrix(A1,” sheet1!C1”)的作用与MLGetMatrix(”a”,”sheet1!C1”)相同。函数运行结果如图示。
(4) 如果需要在工作表中重新计算Excel Link函数,最好按F2键和回车键单步执行每个函数。
(5) 如果在MLGetMatrix函数中使用了单元的直接地址,那么当删除了行或列或者将函数从其他单元复制到新的单元后,一定要重新修改地址。Excel Link不能自动改变MLGetMatrix中的地址。
表示在Matlab中执行命令b=magic(4);
(6) MLGetMatrix
将指定的Matlab矩阵写入到Excel工作表中的指定位置。
在工作表中使用的语法:
MLGetMatrix(var_name,edat)
在宏中使用的语法:
MLGetMatrix var_name,edat
参数Var_name,是要写入工作表的矩阵名,如果矩阵名在引号内“var_name”的形式,则直接指定变量名,如果var_name不用引号引起来,则通过计算获得实际矩阵的名字。
参数 inputs 传给Matlab命令的变长输入参数列表。列表是包含数据的工作表单元格范围。
函数返回单一数值或者是字符串,结果返回到调用函数的单元格中。
例如matlabfcn(”sum”,B1:B10);把从B1到B10的单元格中数据相加,如下图示:
并将结果返回到当前的活动单元格。即A11,结果如下图。
在工作表中的使用语法:
MLClose()
在宏中的使用语法:
MLClose
(4) MLOpen
启动Matlab进程。如果Matlab进程已经启动,则MLOpen函数不进行任何操作。在使用MLClose关闭Matlab进程后使用MLOpen来重新启动Matlab。
在工作表中的使用语法:
MLOpen()
2. ExcelLink连接管理函数
(1) Matlabinit
该函数只能在宏子例程中使用。初始化ExcelLink和启动Matlab进程。只有在MLAutoStart函数中使用“no”参数,才需要手动使用Matlabinit来初始化ExcelLink和启动Matlab进程,
如果使用参数“yes”,则Matlabinit是自动执行的。
使用“yes”参数,则当Excel启动时,自动启动Matlab和ExcelLink;如果使用参数“no”,则当Excel启动时,不启动Matlab和ExcelLink。如果在此之前它们已经启动,则无任何影响。
(3) MLClose
终止Matlab进程并删除Matlab工作空间的所有变量。并通知Excel,Matlab不再运行。
(6) 在打开一个包含ExcelLink函数的Excel数据表的时候,Excel会自动从上到下,从左到右地执行这些函数,所有有可能出现如“#COMMAND!”或“#NONEXIST”等Excel错误提示,只需关闭所有Matlab图形窗口,然后按F2键并回车重新单步执行单元格里地函数就可以了。
(3) 建议使用Excel Link的自动计算模式。如果在手动计算模式下使用MLGetMatrix函数,当在单元格中输入完函数等式时,需要按F9键执行,而按下F9键将有可能引起其他工作表函数的重复执行,产生不可预料的后果。设置Excel Link自动计算模式方法如下:在Excel“工具”菜单的“选项”,选择重新计算标签,图4.2.13。
(9) MLPutVar
使用VBA变量的数据创建或者覆盖Matlab 矩阵。只能在宏子例程中使用。
使用语法:
MLPutVar ML_var_name,VBA_var_name
参数ML_var_name是将被创建或覆盖的矩阵名。如果矩阵名在引号内“ML_var_name”的形式,则直接指定变量名,如果ML_var_name不用引号引起来,则通过计算获得实际矩阵的名字。
4. 补充使用Excel Link的注意事项
(1) Excel工作表通常以“=”作为起始标记,例如=matlabfcn(”sum”,B1:B10);
(2) 大多数的Excel Link函数中有两种定义变量的方式:直接定义,即将变量用双引号标记则是直接定义变量,例如MLGetMatrix(”bonds”,”sheet1!C1”),其中bonds是直接定义的变量;间接定义,函数中的不用双引号的工作表单元地址或行列名称被看作是间接变量,函数对其指引的内容进行操作。工作表单元地址可以包含页表序号,例如MLDeleteMatrix(B1);单元格B1中的内容为a,则相当于执行MLDeleteMatrix(”a”);
例如,单元格B1中的内容为a,MLDeleteMatrix(B1),则表示删除Matlab工作空间的矩阵a,它等价于MLDeleteMatrix(”a”)
(5) MLEvalString
将命令(写成字符串的形式)传到Matlab中执行。
在工作表中使用的语法:
MLEvalString(command);
用Excel Link实现Excel与Matlab混合编程
来源: 神经网络 作者:AI俱乐部 网友评论 0 条 浏览次数 48
Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件。通过连接Excel和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能,不需要脱离Excel环境。同时由Excel Link来保证两个工作环境中的数据交换和同步更新。 1. Excel Link的安装和和设置首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示: 安装完Excel Link后还需要在Excel中进行一些设置后才能使用。启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框: 选中Excel Link项。如果该项不存在,则通过浏览目录,在目录%MATLAB%toolboxexlink下找到excllink.xla文件,如下图示,并确定。 选中ExcelLink项并确定后,在Excel中多了一个Excel Link工具条,如下图示: 经过以上的设置后就可以开始使用Excel Link了。
例如:matlabsub(”sum”,”A1”,B1:B10);把工作表中从单元格B1到B10的数据相加,并将结果返回到单元格A1中。
注意:edat指定的位置不能包含matlabsub所在的位置。
(3) MLAppendMatrix
将Excel工作表中的数据追加到Matlab中指定的矩阵中如果该矩阵不存在,则创建矩阵。
例如:工作表中有A1到C2的数据,使用函数MLPutMatrix(”c”,A1:C2),则可以将这些数据写到Matlab矩阵c中,如下图示。
注意:如果修改工作表中的数据,则Matlab中的矩阵相应发生变化。如果把数据剪切到别的地方,如D1到F2,则函数MLPutMatrix(”c”,A1:C2)会自动更改为MLPutMatrix(”c”,D1:F2)
在工作表中使用的语法:
MLDeleteMatrix(var_name);
在宏中使用的语法:
MLDeleteMatrix var_name
Var_name,是要删除的矩阵名,如果矩阵名在引号内“var_name”的形式,则直接指定变量名,如果var_name不用引号引起来,则通过计算获得实际矩阵的名字。
将A1:A2中的数据追加到矩阵后,如下图示
成为矩阵的第四列,如下图示。
单元格B1中是字符a,函数MLAppendMatrix(B1,A1:A2)的作用于MLAppendMatrix(”a”,A1:A2)相同。
(4) MLDeleteMatrix
删除Matlab空间中指定的矩阵
在宏中的使用语法:
MLOpen
3. ExcelLink数据管理函数
(1) Matlabfcn
根据给定的Excel数据执行Matlab命令。
在工作表中使用时的语法:
matlabfcn(command, inputs)
参数command,Matlab将执行的命令,命令需要写成“command”(使用双引号引起来)的形式。
使用语法:Matlabinit
(2) MLAutoStart
设置自动启动Matlab和ExcelLink。
在工作表中的使用语法:
MLAutoStart("yes")
MLAutoStart("no")
在宏中的使用语法:
MLAutoStart "yes"
MLAutoStart "no"
参数VBA_var_name,将其数据传给Matlab矩阵的VBA变量名,不用引号将其引起来。
如果VBA_var_name变量包含字符串的数据,则输出到Matlab为元胞数组格式。
例如:
Sub Put()
MLPutVar "K",源自DataK End Sub
用VBA变量DataK中的数据创建或着覆盖Matlab矩阵K。
参数VBA_var_name,将其Matlab矩阵数据传给的VBA变量名,不用引号将其引起来。