matlab利用excellink达到在excel中直接画图

合集下载

如何将Excel中的数据导入MATLAB并在MATLAB中画出图像

如何将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。

如何将Excel中的数据导入MATLAB并在MATLAB中画出图象

如何将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中画出图像

如何将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中画出图像

如何将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。

excel和matlab链接

excel和matlab链接

Matlab具有强大的数据计算和处理、图形显示能力;Excel则具有强大的表格处理同时也有强大的数据统计和显示能力。

在科研过程中常会同时使用这两款软件,如果实现Matlab和Excel的链接,可以满足实际要求。

实现Matlab和Excel的混合编程主要有以下几种方法:1、利用Excel Link(最常用方法)Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件。

通过连接Excel和Matlab,实现Excel和Matlab的数据共享。

使用Excel Link 时,不脱离Excel环境直接在Excel中调用Matlab函数。

具体可参见Matlab帮助或Excel Link手册。

2、利用Excel生成器(Matlab作COM服务器)COM(通用对象模型)是一组面向对象的技术和工具的集合。

利用Matlab提供的COM生成器,把Matlab的算法程序生成组件,这些组件可作为独立的COM对象被Excel的Visual Basic使用。

具体可参见Matlab COM Builder或者Matlab Builder for Excel工具。

3、利用Active X控制(Matlab作COM客户端)ActiveX是 Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型。

主要利用Matlab中的actxserver函数:actxserver('progid');progid为程序的ActiveX部件的标识符,针对不同的程序有不同的progid。

如actxserver('Excel.Application'),然后可利用invoke函数进行一系列操作。

4、文件导入方法利用xlsread和xlswrite函数读写Excel文件(也可用fopen、fread和fwrite函数),然后进行数据处理操作。

另外,还可以通过菜单File->Import data 方法。

在Excel中使用MATLAB

在Excel中使用MATLAB

专题十外部程序接口10.1 在Excel中使用MATLAB☐Spreadsheet Link程序☐将Excel表格中的数据导出到MATLAB工作空间中☐从MATLAB工作空间导入数据到Excel表格中☐在Excel中调用MATLAB函数进行运算1. Spreadsheet Link程序Spreadsheet Link程序是MATLAB提供的Excel与MATLAB的接口,通过Spreadsheet Link,可以在Excel工作区和MATLAB工作区之间进行数据交换,也可以在Excel中调用MATLAB的函数。

(1)安装Spreadsheet Link的安装是在MATLAB安装过程中,随其他组件一起安装的。

安装完成后,还需要在Excel中进行一些设置后才能使用。

(2)设置选 Excel “文件”菜单的“选项”菜单项,打开“Excel选项”对话框。

在“Excel选项”对话框中,选左边栏的“加载项”,然后单击右边面板下部的“转到”按钮,弹出“加载宏”对话框。

(2)设置在“加载宏”对话框中,单击“浏览”按钮,打开文件“浏览”对话框。

在文件“浏览”对话框,选MATLAB的安装文件夹的子文件夹toolbox\exlink。

在文件夹exlink中选excllink.xlam文件,单击“确定”按钮返回。

(2)设置“加载宏”对话框的“可用加载宏”列表中多了一个“Spreadsheet Link 3.2.5 for use with MATLAB and Excel”选项。

选中该项,返回Excel窗口。

(3)MATLAB命令组加载Spreadsheet Link 后,在Excel窗口“开始”选项卡中多了一个MATLAB命令组。

命令组中包含的一组命令项,分别用于实现启动MATLAB、导入和导出数据、调用MATLAB函数等。

2. 将Excel表格中的数据导出到MATLAB工作空间例1 文件“测试数据.xlsx”存储某门店销售数据,将其中的A~E列的数据导出MATLAB工作区,存入变量sale。

MATLAB和其他软件数据连接

MATLAB和其他软件数据连接
1. Excel中盐田港数据分别为日期、收盘 价和成交量 2. 单击“startmatlab”按钮启动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与excel数据连结及绘图概要

第章MATLAB与excel数据连结及绘图概要
手动启动matlab
(1)在excel电子表格中输入命令=MLOpen()
(2) 利用excel的宏工具,在宏对话框中输入Matlabinit, 然后单击执行按钮。
(3)按左上按钮"startmatlab"。
1、ExcelLink连接管理函数
(1) Matlabinit 该函数只能在宏子例程中使用。初始化 ExcelLink和启动Matlab进程。只有在 MLAutoStart函数中使用“no”参数,才需要 手动使用Matlabinit来初始化ExcelLink和启 动Matlab进程, 如果使用参数“yes”,则Matlabinit是自动执 行的。 使用语法:Matlabinit
(3) MLAppendMatrix
将Excel工作表中的数据追加到Matlab中指 定的矩阵中如果该矩阵不存在,则创建矩阵。 在工作表中使用的语法: MLAppendMatrix(var_name,mdat)
注意要追加的数据维数要和原矩阵中的维数 相匹配,否则出错
假设matlab中,矩阵a是个2行3 列的矩阵,如下图:
4. xlswrite与xlsread
➢ MATLAB提供的函数xlswrite,具有将 MATLAB中的数据写入EXCEL的功能。
➢ MATLAB提供的函数xlsread,具有将EXCEL 中的数据读入MATLAB的功能。
xlswrite的调用方式
xlswrite('', M) xlswrite('', M, sheet) xlswrite('', M, 'range') xlswrite('', M, sheet, 'range')
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab excel混合编程MATLAB与Excel数据连接及绘图3.1 MATLAB与Excel数据连接EXCEL和MATLAB在数据显示和数值计算上各有优势,EXCEL是商业运用最广泛的工具,非常直观,但是数值编程比较差,而MA TLAB可以弥补这一点,有时在程序开发上需要将两者结合起来,实现两者之间的优势互补,为此MATLAB提供了EXCEL Link连接工具,实现MA TLAB与EXCEL之间的混合编程。

EXCEL Link是一个在Microsoft Windows环境下实现对Microsoft EXCEL和MATLAB 进行链接的插件。

通过对EXCEL和MATLAB 的连接,用户可以在EXCEL的工作空间里,利用EXCEL的宏编程工具,使用MATLAB的数据处理和图形处理功能进行相关操作,同时由EXCEL Link来保证两个工作环境中数据的交换和同步更新。

使用EXCEL Link 时,不必脱离EXCEL环境,而是直接在EXCEL工作区或宏操作中调用MATLAB函数。

EXCEL Link允许在MATLAB和EXCEL之间进行数据交换,在两个功能强大的数学处理、分析与表示平台之间建立无缝连接。

EXCEL作为一个可视化的数据处理环境是进行数组编辑的最佳选择,而MA TLAB则作为数据分析和可视化的引擎。

任何输入到EXCEL环境中的数据都可以直接进入MTA TLAB进行处理,而这一过程完全是“现场”处理的,没有任何中间文件,也不需要进行编程工作。

3.1.1 MATLAB和Excel的接口安装:. Excel Link的安装和和设置首先,在系统中安装Excel软件。

然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示:安装完Excel Link后还需要在Excel中进行一些设置后才能使用。

启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:选中Excel Link项。

如果该项不存在,则通过浏览目录,在目录%MATLAB%toolboxexlink 下找到excllink.xla文件,如下图示,并确定。

选中ExcelLink项并确定后,在Excel中多了一个Excel Link工具条,如下图示:经过以上的设置后就可以开始使用Excel Link了。

其中4个按钮的意义分别如下:startmatlab %启动MATLABputmatrix %将变量输入到MATLABgetmatrix %把MA TLAB的变量输入到EXCELevalstring %执行MA TLAB命令注:Excel中的起始时间与MATLAB的起始时间相差693960天,用户需要将该数据加在MATLAB上,转换为MATLAB的数据。

3.1.2 . ExcelLink管理函数1、ExcelLink连接管理函数按如上设置好后,下次启动excel时会默认启动matlab,要不想在每次启动时都启动matlab,则可以在电子表格中或函数输入框中输入以下命令=MLAutoStart(“no”)这时要启动matlab需手动启动,有三种方法,一种是在excel电子表格中调用MLOpen函数,即输入命令=MLOpen()第二种方法是利用excel的宏工具,在宏对话框中输入Matlabinit,然后单击执行按钮,同样可以启动MATLAB。

第三种方法是按左上按钮"startmatlab"。

下面介绍一下常用的连接、启动和关闭matlab的常用函数:(1)Matlabinit该函数只能在宏子例程中使用。

初始化ExcelLink和启动Matlab进程。

只有在MLAutoStart 函数中使用“no”参数,才需要手动使用Matlabinit来初始化ExcelLink和启动Matlab进程,如果使用参数“yes”,则Matlabinit是自动执行的。

使用语法:Matlabinit(2) MLAutoStart设置自动启动Matlab和ExcelLink。

在工作表中的使用语法:MLAutoStart("yes") MLAutoStart("no")在宏中的使用语法:MLAutoStart "yes"MLAutoStart "no"使用“yes”参数,则当Excel启动时,自动启动Matlab和ExcelLink;如果使用参数“no”,则当Excel启动时,不启动Matlab和ExcelLink。

如果在此之前它们已经启动,则无任何影响。

(3) MLClose终止Matlab进程并删除Matlab工作空间的所有变量。

并通知Excel,Matlab不再运行。

在工作表中的使用语法:MLClose()在宏中的使用语法:MLClose(4) MLOpen启动Matlab进程。

如果Matlab进程已经启动,则MLOpen函数不进行任何操作。

在使用MLClose关闭Matlab进程后使用MLOpen来重新启动Matlab。

在工作表中的使用语法:MLOpen()在宏中的使用语法:MLOpen注释:EXCEL的默认日期数开始与1900年1月1日,而MATLAB 的日期数开始于0000年1月1日。

如果用户使用MATLAB中的日期数计算, 常数693960起关键作用: EXCEL 日期数加上它进入MATLAB,或从MATLAB 日期数中减去它进入EXCEL2. ExcelLink数据管理函数(1) Matlabfcn根据给定的Excel数据执行Matlab命令。

在工作表中使用时的语法: matlabfcn(command,inputs)参数command,Matlab将执行的命令,命令需要写成“command”(使用双引号引起来)的形式。

参数inputs 传给Matlab命令的变长输入参数列表。

列表是包含数据的工作表单元格范围。

函数返回单一数值或者是字符串,结果返回到调用函数的单元格中。

例如matlabfcn(”sum”,B1:B10);把从B1到B10的单元格中数据相加,如下图示:并将结果返回到当前的活动单元格。

即A11,结果如下图。

例:在Matlab中生成12维均匀随机向量aa,利用matlabfcn在Excel中求其分量之和。

(2) Matlabsub根据给定的Excel数据执行Matlab命令,并将结果返回到指定的单元格中。

在工作表中的使用语法:matlabsub(command,edat,inputs)command和inputs参数的与matlabfcn相同。

参数edat,指定返回值写入在工作表中的位置。

如果edat用双引号引起来,则edat必须是单元格地址或范围的名字。

如果参数不用引号引起edat的形式,则通过计算获得矩阵名。

例如:=matlabsub(”sum”,”A1”,B1:B10);把工作表中从单元格B1到B10的数据相加,并将结果返回到单元格A1中。

注意:edat指定的位置不能包含matlabsub所在的位置。

(3)MLAppendMatrix将Excel工作表中的数据追加到Matlab中指定的矩阵中如果该矩阵不存在,则创建矩阵。

在工作表中使用的语法:MLAppendMatrix(var_name,mdat)在宏中使用的语法:MLAppendMatrix var_name,mdat注意要追加的数据维数要和原矩阵中的维数相匹配,否则出错。

例如:MLAppendMatrix(”a”,A1:A2);假设矩阵a是个2行3列的矩阵,如下图:将A1:A2中的数据追加到矩阵后,如下图示成为矩阵的第四列,如下图示。

单元格B1中是字符a,函数MLAppendMatrix(B1,A1:A2)的作用于MLAppendMatrix(”a”,A1:A2)相同。

(4) MLDeleteMatrix删除Matlab空间中指定的矩阵在工作表中使用的语法:MLDeleteMatrix(var_name);在宏中使用的语法:MLDeleteMatrix var_nameVar_name,是要删除的矩阵名,如果矩阵名在引号内“var_name”的形式,则直接指定变量名,如果var_name不用引号引起来,则通过计算获得实际矩阵的名字。

例如,单元格B1中的内容为a,MLDeleteMatrix(B1),则表示删除Matlab工作空间的矩阵a,它等价于MLDeleteMatrix(”a”)(5) MLEvalString将命令(写成字符串的形式)传到Matlab中执行。

在工作表中使用的语法:MLEvalString(command);在宏中使用的语法:MLEvalString command参数command如果是用引号引起来”command”的形式,则是直接指定命令;如果不用引号引起来command的形式,则command必须是包含了命令字符串的工作表的单元格地址或者是范围。

例如:MLEvalString(”b=magic(4)”);表示在Matlab中执行命令b=magic(4);(6) MLGetMatrix将指定的Matlab矩阵写入到Excel工作表中的指定位置。

在工作表中使用的语法:MLGetMatrix(var_name,edat)在宏中使用的语法:MLGetMatrix var_name,edat参数Var_name,是要写入工作表的矩阵名,如果矩阵名在引号内“var_name”的形式,则直接指定变量名,如果var_name不用引号引起来,则通过计算获得实际矩阵的名字。

参数edat指定了矩阵写入工组表的位置。

如果参数是用引号引起”edat”的形式,则是直接指定矩阵名,如果参数不用引号引起edat的形式,则通过计算获得矩阵名。

例如:MLGetMatrix(”a”,”sheet1!B1”);将矩阵a写入工作表sheet1以单元格B1起始的位置,如果a是一个2行3列的矩阵,则矩阵占据sheet1的B1到D2的空间。

如果在A1中有字符串a,则MLGetMatrix(A1,” sheet1!C1”)的作用与MLGetMatrix(”a”,”sheet1!C1”)相同。

函数运行结果如图示。

(7) MLGetVar将MatLab矩阵传送给Excel VBA变量,只能在宏子例程中使用。

使用语法:MLGetVar ML_var_name,VBA_var_name参数ML_var_name是将获取的矩阵名。

如果矩阵名在引号内“ML_var_name”的形式,则直接指定变量名,如果ML_var_name不用引号引起来,则通过计算获得实际矩阵的名字。

参数VBA_var_name,将其Matlab矩阵数据传给的VBA变量名,不用引号将其引起来。

相关文档
最新文档