第章MATLAB与excel数据连结及绘图概要
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
xlswrite的输入参数
% EXCEL文件名
M
% MATLAB工作空间中的大小为m×n的数
组来自百度文库该数组可以是字符型的,数值型的也可以是单元
数组,其中m < 65536且n < 256
手动启动matlab
(1)在excel电子表格中输入命令=MLOpen()
(2) 利用excel的宏工具,在宏对话框中输入Matlabinit, 然后单击执行按钮。
(3)按左上按钮"startmatlab"。
1、ExcelLink连接管理函数
(1) Matlabinit 该函数只能在宏子例程中使用。初始化 ExcelLink和启动Matlab进程。只有在 MLAutoStart函数中使用“no”参数,才需要 手动使用Matlabinit来初始化ExcelLink和启 动Matlab进程, 如果使用参数“yes”,则Matlabinit是自动执 行的。 使用语法:Matlabinit
(3) MLClose
终止Matlab进程并删除Matlab工作空间的所 有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose
(4) MLOpen—启动Matlab进程
如果Matlab进程已经启动,则MLOpen函数不 进行任何操作。在使用MLClose关闭Matlab 进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen
(2) MLAutoStart
设置自动启动Matlab和ExcelLink。 在工作表中的使用语法: MLAutoStart("yes") MLAutoStart("no") 使用“yes”参数,则当Excel启动时,自动启 动Matlab和ExcelLink;如果使用参数 “no”,则当Excel启动时,不启动Matlab和 ExcelLink。如果在此之前它们已经启动,则 无任何影响。
(3) MLAppendMatrix
将Excel工作表中的数据追加到Matlab中指 定的矩阵中如果该矩阵不存在,则创建矩阵。 在工作表中使用的语法: MLAppendMatrix(var_name,mdat)
注意要追加的数据维数要和原矩阵中的维数 相匹配,否则出错
假设matlab中,矩阵a是个2行3 列的矩阵,如下图:
如果用户使用MATLAB中的日期数计算, 常数 693960起关键作用: EXCEL日期数加上它进 入MATLAB,或从MATLAB 日期数中减去它进 入EXCEL
2、ExcelLink数据管理函数
(1) matlabfcn 根据给定的Excel数据执行Matlab命令。 在工作表中使用时的语法: matlabfcn(command, inputs)
(3) MLClose
终止Matlab进程并删除Matlab工作空间的所 有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose
Excel时间与Matlab的转换
EXCEL的默认日期数开始与1900年1月1日, 而MATLAB 的日期数开始于0000年1月1日。
金融数值计算与应用软件
--MATLAB
王辉 中央财经大学金融学院
E-mail :
第3章 MATLAB与Excel数据连 接及绘图
3.1 MATLAB与Excel数据连接 3.1.1 MATLAB和Excel的接口安装:. Excel Link的安
装和和设置 Excel Link的设置
启动Excel,选择菜单“工具”项下的“加载宏” 项,弹出如下对话框
将Excel表中A1:A2中的数据 追加到矩阵后,如下图示
成为矩阵的第四列,如下图示
(4) MLDeleteMatrix
删除Matlab空间中指定的矩阵 在工作表中使用的语法: MLDeleteMatrix(var_name);
Var_name,是要删除的矩阵名,如果矩阵名在引号 内“var_name”的形式,则直接指定变量名,如果 var_name不用引号引起来,则通过计算获得实际矩 阵的名字。 例如,单元格B1中的内容为a,MLDeleteMatrix (B1),则表示删除Matlab工作空间的矩阵a,它等 价于MLDeleteMatrix(”a”)
=matlabfcn(“sum”,B3:B10);把从B3到B10的 单元格中数据相加
例:在Matlab中生成12维均匀随机向量aa,利用 matlabfcn在Excel中求其分量之和。
(2) Matlabsub
根据给定的Excel数据执行Matlab命令,并将结 果返回到指定的单元格中。 在工作表中的使用语法: matlabsub(command,edat,inputs) 例如:=matlabsub(”sum”,”A1”, B1:B10);把工作表中从单元格B1到B10的数 据相加,并将结果返回到单元格A1中。 注意:edat指定的位置不能包含matlabsub所 在的位置。
若该项不存在,则通过浏览目录,在目录 MATLAB/toolbox/exlink下找到 excllink.xla文件
在Excel中多了一个Excel Link工 具条,如下图示:
3.1.2 . ExcelLink管理函数 手动启动matlab
要不想在每次启动时都启动matlab,则可以在电子表 格中或函数输入框中输入以下命令 =MLAutoStart(“no”)
4. xlswrite与xlsread
➢ MATLAB提供的函数xlswrite,具有将 MATLAB中的数据写入EXCEL的功能。
➢ MATLAB提供的函数xlsread,具有将EXCEL 中的数据读入MATLAB的功能。
xlswrite的调用方式
xlswrite('', M) xlswrite('', M, sheet) xlswrite('', M, 'range') xlswrite('', M, sheet, 'range')