文档详情

Excel与Matlab的数据交互.doc

发布:2017-06-11约1.7千字共8页下载文档
文本预览下载声明
Excel与Matlab的数据交互 假设列举十只股票,算其五日平均线,平均股价,标准差...等,如果用Excel Link的话,可将资料由Excel 传给Matlab,再将结果送回excel?中我们指定的位置1)开启 Microsoft excel . 2)Tools\Add-Ins\Browse\matlabtoolbox\exlink\excllink.xla????Click OK. ?? matlab是指Matlab的根目录,会依你的安装路径,及版本不同,而有所不同. 3)Tools\Add-Ins,核选ExcelLink 2.2.2for use with MATLAB ,then Click OK.(版本不一定相同) 4)这时你会发现excel 里,多了Matlab Command Window(命令视窗),这儿就是你下命给Matlab的地方. 5)另外在excel 里,也多了Excel Link toolbar.a)startmatlab b)putmatrix c)getmatrix d)evalstring 6)以后开启excel就会自动开启matlab,如果觉得不便,可在excel命令栏输入=MLAutoStart(no)按Enter解除自动联结,要使用matlab时,再按左上按钮startmatlab即可. 4.exlink toolbox提供的范例(ExliSamp.xls)有五个例子: ???? Example 1: Regression and Curve Fitting ???? Example 2: Interpolating Data ???? Example 3: Pricing a Stock Option with the Binomial Model ???? Example 4: Calculating and Plotting the Efficient Frontier of Financial Portfolios ???? Example 5: Bond Cash Flow and Time Mapping 5.这次我以example1为例,为方便了解,修改写了regression curve fitting.xls,内含16个指令.也就是说按了16次enter,就能对Excel Link的功能有了初步的了解.举三个重要指令的语法,说明如下: a)??= MLPutMatrix(data,A4:C28)????把资料送往matlab处理. b)??= MLEvalString([p,S] = polyfit(1:n,y,5)) 请matlab执行这样的指令,这儿5代表fifth-degree polynomial,如果改个数字图形会变如何? c)??=MLGetMatrix(y,A5)????????????把matlab处理完的资料,送回excel指定的栏位. 6.事实上(.....),......就是matlab的命令,当然可以直接在matlab下指令,其执行结果与在excel的执行结果是相同的.所以我又写了regression.m ,供大家比较参考.只是记得要把路径设定好,否则matlab读不到档案的.这里多了两个指令语法??1)xlsread()??2)xlswrite() 在完成上述加载后,ExcelLink和Matlab会在Excel启动时自动启动。如果不希望自动启动,在工作表单元格中输入“=MLAutoStart(no)”即可。 如需手工启动matlab进程,则点击startmatlab按钮或在工作表单元格内输入“=MLOpen()”,如需关闭matlab进程输入“=MLClose()”。 在Excel和Matlab之间保持连接通讯的函数包括: Matlabinit:初始化Excel Link,启动matlab进程 MLAutostart:自动启动matlab进程 MLClose:终止matlab进程 MLOpen:启动Matlab进程?
显示全部
相似文档