m基础与实例进阶_第1页
m基础与实例进阶_第2页
m基础与实例进阶_第3页
m基础与实例进阶_第4页
m基础与实例进阶_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-3-22机械工业出版社Page 1【学习目标】l了解Notebook和Excel Link的概念及配置l熟练运用Notebook菜单l掌握Spreadsheet Link EX菜单中各项的功能l掌握Excel Link函数的使用方法2022-3-22机械工业出版社Page 2 Notebook Notebook简介简介7.1 在在MS-WordMS-Word中使用中使用NotebookNotebook7.2 Excel Link Excel Link简介简介 7.3 Excel Link Excel Link函数函数7.4 Excel Link Excel Link应用实例应用实例7

2、.52022-3-22机械工业出版社Page 3 使用使用Notebook制作的制作的Word文档称为文档称为M-book文档。文档。M-book文档不仅拥有文档不仅拥有MS-Word的全部文字处理功能,而且具备的全部文字处理功能,而且具备MATLAB无无与伦比的数学计算能力和灵活自如的结果可与伦比的数学计算能力和灵活自如的结果可视化能力。它既可以作为解决各种计算问题视化能力。它既可以作为解决各种计算问题的字处理软件,也可以作为具备完善文字编的字处理软件,也可以作为具备完善文字编辑功能的科技应用软件。辑功能的科技应用软件。 2022-3-22机械工业出版社Page 4在已经安装上述版本在已经安

3、装上述版本Word的前提下,配置的前提下,配置Notebook环境的操作步骤如下环境的操作步骤如下 1)启动)启动MATLAB 2)在命令窗口输入命令)在命令窗口输入命令 notebook setup 在命令窗口出现如下提示信息,表示在命令窗口出现如下提示信息,表示Notebook配置成功。配置成功。 Welcome to the utility for setting up the MATLAB Notebookfor interfacing MATLAB to Microsoft WordSetup complete 2022-3-22机械工业出版社Page 5Notebook配置成功后,

4、就可以用其创建一配置成功后,就可以用其创建一个新的个新的M-book文档,或打开一个已有的文档,或打开一个已有的M-book文档。文档。 1)创建新的)创建新的M-book文档文档 在在MS-Word环境下创建环境下创建M-book文档文档 新建一个空白的新建一个空白的Word文档文档“Doc1.doc” 依次单击菜单依次单击菜单【文件文件】【新建新建】 2022-3-22机械工业出版社Page 6单击右侧的单击右侧的 ,在弹出的窗口中,在弹出的窗口中选择选择【m-book.dot】 单击单击 ,即新建了一个,即新建了一个M-book文档文档 2022-3-22机械工业出版社Page 7202

5、2-3-22机械工业出版社Page 8系统在新建系统在新建M-book文档的同时,自动开启文档的同时,自动开启了一个新的了一个新的MATLAB作为其服务器(不管作为其服务器(不管MATLAB是否已经打开),此是否已经打开),此MATLAB窗口窗口的当前目录默认为安装的当前目录默认为安装MATLAB时程序所在时程序所在的目录。的目录。 2022-3-22机械工业出版社Page 92022-3-22机械工业出版社Page 10从从MATLAB命令窗口创建命令窗口创建M-book文档文档 在在MATLAB的命令窗口直接输入以下命令,即可的命令窗口直接输入以下命令,即可创建一个创建一个M-book文档

6、。文档。 notebook 或 notebook 文件名 命令命令“notebook”用来创建一个名为用来创建一个名为“文档文档1.doc”的的M-book文档;命令文档;命令“notebook 文件名文件名”用来创用来创建一个名为建一个名为“文件名文件名.doc”的的M-book文档。上述命文档。上述命令运行后,均会在令运行后,均会在MATLAB窗口出现信息窗口出现信息“Warning: MATLAB is now an automation server”,意指此时不会自动开启,意指此时不会自动开启MATLAB服务器服务器,而是将当前的,而是将当前的MATLAB作为服务器。作为服务器。 2

7、022-3-22机械工业出版社Page 112)打开已有的)打开已有的M-book文档文档 已有已有M-book文档的打开和普通文档的打开和普通MS-Word文档的打文档的打开一样,均是通过单击菜单开一样,均是通过单击菜单【文件文件】【打开打开】,然后在弹出的窗口中选择所要打开的文件完成的。然后在弹出的窗口中选择所要打开的文件完成的。若此时存在一个由若此时存在一个由notebook指令开启的指令开启的MATLAB服务器窗口,则打开服务器窗口,则打开M-book文档时不再开启文档时不再开启MATLAB服务器;反之,若当前的服务器;反之,若当前的MATLAB窗口不窗口不是由是由notebook指令

8、开启的,则打开指令开启的,则打开M-book文档时文档时会自动开启一个会自动开启一个MATLAB窗口作为服务器。窗口作为服务器。 2022-3-22机械工业出版社Page 12用户在用户在Word中使用中使用Notebook的方法是:在的方法是:在Word文档中创建命令,然后送到文档中创建命令,然后送到MATLAB服务器中运服务器中运行,最后将结果返回到行,最后将结果返回到Word中加以显示。此时,中加以显示。此时,用户可以在用户可以在Word中随时修改命令,随时运行并更中随时修改命令,随时运行并更新结果,从而方便地使用新结果,从而方便地使用MATLAB资源。资源。 2022-3-22机械工业

9、出版社Page 132022-3-22机械工业出版社Page 14“单元(单元(Cell)”是在是在M-book文档和文档和MATLAB服服务器之间相互传递内容的基本单位。由务器之间相互传递内容的基本单位。由M-book文文档传向档传向MATLAB的指令称为的指令称为“输入单元(输入单元(Input Cell)”;输入单元被送到;输入单元被送到MATLAB环境中执行后环境中执行后,将返回运行结果到,将返回运行结果到M-book文档,即为文档,即为“输出单输出单元(元(Output Cell)”。输入单元和输出单元不一。输入单元和输出单元不一定同时存在。输入单元可以单独存在,但输出单元定同时存在

10、。输入单元可以单独存在,但输出单元必须依赖输入单元而存在。必须依赖输入单元而存在。 2022-3-22机械工业出版社Page 15输入单元(组)的定义有如下两种方法:输入单元(组)的定义有如下两种方法: 1)选中所有要执行的命令,单击菜单)选中所有要执行的命令,单击菜单【 Notebook】【Define Input Cell】 2)选中所有要执行的命令,按下组合键)选中所有要执行的命令,按下组合键“Alt+D” 定义输入单元(组)时要注意以下几点定义输入单元(组)时要注意以下几点 M-book文档中的文档中的MATLAB指令(包括标点符号)指令(包括标点符号)须在英文状态下输入须在英文状态下

11、输入 不能用续行符不能用续行符“”输入较长的输入较长的MATLAB指令指令 2022-3-22机械工业出版社Page 16不管一条指令有多长,只要不用不管一条指令有多长,只要不用“硬回车硬回车”换行换行,总可以用鼠标将其全部选中并按组合键,总可以用鼠标将其全部选中并按组合键“Ctrl+Enter”将其送入将其送入MATLAB执行执行 若若M-book文档中的命令已按照上述方法被定义为输文档中的命令已按照上述方法被定义为输入单元(组),则直接单击菜单入单元(组),则直接单击菜单【Notebook】【Evaluate Cell】,就会将选中的输入单元(组)送,就会将选中的输入单元(组)送入入MAT

12、LAB中运行,同时将运行结果返回并嵌入到中运行,同时将运行结果返回并嵌入到M-book文档中。文档中。 2022-3-22机械工业出版社Page 17当命令没有被定义为输入单元(组)时,也可以先当命令没有被定义为输入单元(组)时,也可以先选中要执行的指令,然后直接按下组合键选中要执行的指令,然后直接按下组合键“Ctrl+Enter”,就会将选中的命令定义为输入单元,就会将选中的命令定义为输入单元(组),同时将其送入(组),同时将其送入MATLAB中运行,并返回运中运行,并返回运行结果。行结果。 2022-3-22机械工业出版社Page 18输出单元的删除输出单元的删除 删除删除M-book文档

13、中的所有输出单元的步骤如下文档中的所有输出单元的步骤如下 1)将)将M-book文档中的所有内容(包括输入单元文档中的所有内容(包括输入单元和输出单元)全部选中和输出单元)全部选中 2)单击菜单)单击菜单【Notebook】【Purge Selected Output Cells】 2022-3-22机械工业出版社Page 19取消单元的定义取消单元的定义 取消单元的定义可通过如下两种方法完成取消单元的定义可通过如下两种方法完成 将输入单元全部选中,然后单击菜单将输入单元全部选中,然后单击菜单【Notebook】【Undefine Cells】 将光标置于单元之中,按下组合键将光标置于单元之中

14、,按下组合键“Alt+U” 当输入单元(组)被取消定义后,与之相应的输出当输入单元(组)被取消定义后,与之相应的输出单元被同时转化为普通文本。然而,仅当输出单元单元被同时转化为普通文本。然而,仅当输出单元被取消定义时,就切断了与输入单元(组)的联系被取消定义时,就切断了与输入单元(组)的联系。此时,输入单元(组)的性质不发生任何变化。此时,输入单元(组)的性质不发生任何变化。若再次运行输入单元(组),则会紧跟其后产生一若再次运行输入单元(组),则会紧跟其后产生一个新的输出单元,而保持原来的运行结果不变。个新的输出单元,而保持原来的运行结果不变。 2022-3-22机械工业出版社Page 20新

15、建一个名为新建一个名为“exp7-1.doc的的M-book文档,键文档,键入文本指令,用于实现方波的合成过程。先将指入文本指令,用于实现方波的合成过程。先将指令定义为输入单元(组),再送去自动开启的令定义为输入单元(组),再送去自动开启的MATLAB中运行,观察返回并嵌入中运行,观察返回并嵌入M-book文档中文档中的运行结果。的运行结果。 1)在)在M-book文档中输文档中输入代码入代码 t = 0:0.02:2*pi;L=length(t)y = zeros(6,L);x = zeros(size(t);for k=1:2:11 x = x + sin(k*t)/k; y(k+1)/2

16、,:) = x;endplot(y,LineWidth,2);title(The building of a square wave: Gibbs effect); 2022-3-22机械工业出版社Page 212)将上述文本指令全部选中,按下组合键)将上述文本指令全部选中,按下组合键“Alt+D”或单击菜单或单击菜单【Notebook】【Define Input Cell】将其定义为输入单元(组),结果如将其定义为输入单元(组),结果如图;图;2022-3-22机械工业出版社Page 223)将输入单元全部选中,单击菜单)将输入单元全部选中,单击菜单【Notebook】【Undefined

17、Cells】取消输入单元的定义,将输取消输入单元的定义,将输入单元变为普通文本;入单元变为普通文本; 4)再次选中全部文本指令,用组合键)再次选中全部文本指令,用组合键“Ctrl+Enter”或单击菜单或单击菜单【Notebook】【Evaluate Cell】将其定义为输入单元并送入将其定义为输入单元并送入MATLAB执行,运行结果就被嵌入到执行,运行结果就被嵌入到M-book文档文档中,如图。中,如图。2022-3-22机械工业出版社Page 232022-3-22机械工业出版社Page 24自初始化单元(自初始化单元(AutoInit Cell)随)随M-book的启动的启动而自动运行。

18、可被定义为自初始化单元的内容包括而自动运行。可被定义为自初始化单元的内容包括普通的文本指令和已经存在的输入单元。普通的文本指令和已经存在的输入单元。 定义自初始化单元的步骤定义自初始化单元的步骤 1)选中需要自动运行的文本指令或输入单元)选中需要自动运行的文本指令或输入单元 2)单击菜单)单击菜单【Notebook】【Define AutoInit Cell】 2022-3-22机械工业出版社Page 25工作内存的初始化工作内存的初始化M-book文档中所有运算都在自动开启的文档中所有运算都在自动开启的MATLAB服务器中进行,参与运算的所有变量都储存在服务器中进行,参与运算的所有变量都储存

19、在MATLAB工作内存中,各工作内存中,各M-book文档和文档和MATLAB命令窗口共享一个命令窗口共享一个“计算引擎计算引擎”和工作内存。当用和工作内存。当用户同时打开几个户同时打开几个M-book文档时,或在文档时,或在MATLAB命命令窗口和令窗口和M-book文档之间交互运作时,应注意区文档之间交互运作时,应注意区分不同文档之间、文档与窗口之间变量的相互影响分不同文档之间、文档与窗口之间变量的相互影响。若要使某个。若要使某个M-book文档独占文档独占MATLAB工作内存工作内存,可将代码,可将代码“clc; clear all; close all;”作为文档的第一条作为文档的第一

20、条指令,并将其定义为自初始化单元。指令,并将其定义为自初始化单元。 2022-3-22机械工业出版社Page 26整个整个M-book文档的运行文档的运行菜单菜单【Notebook】【Evaluate M-book】可以把可以把整个整个M-book文档中的所有输入单元送到文档中的所有输入单元送到MATLAB中执行。用户单击此项菜单时,不论光标处于文档中执行。用户单击此项菜单时,不论光标处于文档的什么位置,的什么位置,MATLAB总是从文档的第一条指令开总是从文档的第一条指令开始执行。在运行过程中,程序会更新原有的输出单始执行。在运行过程中,程序会更新原有的输出单元,并且将新的输出单元补写到元,

21、并且将新的输出单元补写到M-book文档中。文档中。 2022-3-22机械工业出版社Page 27单元的循环执行单元的循环执行菜单菜单【Notebook】【Evaluate Loop】可用来控可用来控制输入单元(组)的循环执行。操作步骤如下:制输入单元(组)的循环执行。操作步骤如下: 1)选中要循环执行的输入单元,依次单击菜单)选中要循环执行的输入单元,依次单击菜单【Notebook】【Evaluate Loop】,弹出如下图所,弹出如下图所示的对话框示的对话框 2022-3-22机械工业出版社Page 282)在对话框的)在对话框的 一栏输入要循环的次数一栏输入要循环的次数 3)单击)单击

22、 ,开始循环执行,并显示已循环,开始循环执行,并显示已循环 的次数的次数 4)若要在每次循环后加入延迟,可单击)若要在每次循环后加入延迟,可单击 , 反之单击反之单击 ,暂停执行则单击,暂停执行则单击 5)单击)单击 ,关闭对话框,关闭对话框 2022-3-22机械工业出版社Page 29 新建一个名为新建一个名为“exp7-2.doc的的M-book文档,在其文档,在其中键入文本指令,用于绘制多条幅度不断增加的正中键入文本指令,用于绘制多条幅度不断增加的正弦曲线。利用菜单弦曲线。利用菜单“NotebookEvaluate Loop”实现所有曲线的连续绘制,观察其动态变化。实现所有曲线的连续绘

23、制,观察其动态变化。 1)输入以下指令,用)输入以下指令,用组合键组合键“Ctrl+Enter”将其定义为输入单元将其定义为输入单元,并送入自动开启的,并送入自动开启的MATLAB服务器执行服务器执行 clc; clear all; close all;t = 0:0.02:2*pi;k=1; 2022-3-22机械工业出版社Page 30 2)输入以下指令,用组合键)输入以下指令,用组合键“Alt+D”将其定义为将其定义为输入单元输入单元 y=k*sin(t);plot(y,LineWidth,2);hold on; k=k+1; 3)用鼠标选中步骤)用鼠标选中步骤2)里已定义的输入单元,单

24、击)里已定义的输入单元,单击菜单菜单【Notebook】【Evaluate Loop】,在弹出,在弹出的对话框中保持循环次数的对话框中保持循环次数10不变,依次单击不变,依次单击 、 和和 ,程序即开始在同一个图形窗,程序即开始在同一个图形窗口循环画不同幅度的正弦曲线;口循环画不同幅度的正弦曲线; 4)循环结束后,单击)循环结束后,单击 关闭对话框。关闭对话框。 2022-3-22机械工业出版社Page 31 2022-3-22机械工业出版社Page 32输出单元包括经输出单元包括经MATLAB运行所产生的数据、图形运行所产生的数据、图形和错误信息,其嵌入到和错误信息,其嵌入到M-book文档

25、中的格式可由菜文档中的格式可由菜单单【Notebook】【Notebook Options】控控制。单击此项菜单所弹出制。单击此项菜单所弹出的对话框如右图所示。的对话框如右图所示。 2022-3-22机械工业出版社Page 33Excel Link是一个在是一个在Windows环境下实现环境下实现MS-Excel与与MATLAB连接的插件。它将连接的插件。它将MS-Excel和和MATLAB集成在一起,集成在一起,Excel作为可视化的作为可视化的数据处理环境,数据处理环境,MATLAB则作为数据分析和可则作为数据分析和可视化的引擎,为表格处理、科学计算和工程设视化的引擎,为表格处理、科学计算

26、和工程设计创造了一个完美统一的工作环境。计创造了一个完美统一的工作环境。 2022-3-22机械工业出版社Page 34MATLAB与与MS-Excel的接口方式有下面两种的接口方式有下面两种 通过通过MATLAB提供的提供的Excel生成器,生成生成器,生成DLL组组件和件和VBA代码,实现代码,实现Excel对对MATLAB的调用的调用 通过通过MATLAB6.5以后版本提供的以后版本提供的Excel Link插插件,直接在件,直接在Excel环境下运行环境下运行MATLAB命令,与命令,与MATLAB进行数据传输进行数据传输 2022-3-22机械工业出版社Page 35Excel Li

27、nk是一个软件插件,它将是一个软件插件,它将Excel和和MATLAB进行集成,实现进行集成,实现Excel与与MATLAB的动的动态链接。用户可以不必脱离态链接。用户可以不必脱离Excel环境,直接在环境,直接在Excel的工作区或者宏操作中调用的工作区或者宏操作中调用MATLAB函数函数,使用,使用MATLAB的数据处理与图形处理等功能。的数据处理与图形处理等功能。在此过程中,任何输入到在此过程中,任何输入到Excel环境中的数据都可环境中的数据都可以直接进入以直接进入MATLAB进行进行“现场现场”处理,同时保处理,同时保证两个工作环境中数据的交互使用和同步更新。证两个工作环境中数据的交

28、互使用和同步更新。 2022-3-22机械工业出版社Page 36Excel Link的运行环境的运行环境 Excel Link对运行环境没有特别要求,操作系统可对运行环境没有特别要求,操作系统可以是以是Windows 98、Windows 2000或或Windows XP,能够同时运行,能够同时运行MS-Excel和和MATLAB,程序运,程序运行需要大约行需要大约200KB的硬盘空间,系统的显示模式的硬盘空间,系统的显示模式最好设置为最好设置为256色或更高。此外,要在色或更高。此外,要在Windows环环境下先安装境下先安装MS-Excel,然后再安装,然后再安装MATLAB和和Exce

29、l Link。 2022-3-22机械工业出版社Page 37Excel Link的安装的安装Excel Link的安装步骤如下的安装步骤如下 1)启动)启动MS- Excel 2)单击菜单)单击菜单【工具工具】【加载宏加载宏】 3)在打开的对话框中有一个当前加载宏列表框)在打开的对话框中有一个当前加载宏列表框,选中其中的复选框可以加载一个加载宏,继而,选中其中的复选框可以加载一个加载宏,继而在在Microsoft Excel中使用相应的命令和功能。此中使用相应的命令和功能。此时,如果当前的加载宏中有时,如果当前的加载宏中有【Spreadsheet Link EX 3.1.1 for use

30、with MATLAB】复选框,将其复选框,将其选中,即在选中,即在Excel和和MATLAB之间建立了链接;之间建立了链接; 2022-3-22机械工业出版社Page 38反之,如果当前加载宏中没有反之,如果当前加载宏中没有【Spreadsheet Link EX 3.1.1 for use with MATLAB】复选框,则单击复选框,则单击对话框上的对话框上的 ,在打开的浏览对话框中查找,在打开的浏览对话框中查找MATLAB安装路径下的安装路径下的“R2010atoolboxexlinkexcllink.xla”,双击该文件将其打开,即可将,双击该文件将其打开,即可将【Spreadshe

31、et Link EX 3.1.1 for use with MATLAB】选项添加到选项添加到了加载宏列表框中。将复选项了加载宏列表框中。将复选项【Spreadsheet Link EX 3.1.1 for use with MATLAB】选中后的界面如选中后的界面如下图所示;下图所示;2022-3-22机械工业出版社Page 394)单击)单击 此时,系统自动开启一个新的此时,系统自动开启一个新的MATLAB窗口作为窗口作为服务器,同时在服务器,同时在MS-Excel窗口的左上方出现如下窗口的左上方出现如下图所示的图所示的Spreadsheet Link EX工具栏。工具栏。 2022-3-

32、22机械工业出版社Page 40Spreadsheet Link EX工工具栏各选项具栏各选项的功能如下的功能如下 startmatlab:在:在Excel中启动中启动MATLAB putmatrix:向:向MATLAB中输送数据中输送数据 getmatrix:从:从MATLAB中重新获得数据中重新获得数据 evalstring:在:在Excel中执行中执行MATLAB指令指令 getfigure:获取当前的:获取当前的MATLAB图形窗口图形窗口 wizard:为在:为在Excel中添加可执行的中添加可执行的MATLAB函数提供函函数提供函 数查找向导数查找向导 preferences:MA

33、TLAB/Spreadsheet Link EX选项选项 设置设置 2022-3-22机械工业出版社Page 411)startmatlab(启动(启动MATLAB)当启动当启动Excel时,如果时,如果MATLAB没有随没有随Excel自动自动启动,则可单击此选项将启动,则可单击此选项将MATLAB启动。启动。 2)putmatrix(向(向MATLAB输送数据)输送数据)将将Excel中已有的数据送入中已有的数据送入MATLAB的变量空间。方的变量空间。方法是:首先选中要传送的数据区域,再单击法是:首先选中要传送的数据区域,再单击【putmatrix】,在弹出的对话框中输入要存放数据的,在

34、弹出的对话框中输入要存放数据的变量名,最后单击变量名,最后单击 即可。即可。2022-3-22机械工业出版社Page 423)getmatrix(从(从MATLAB获得数据)获得数据)将将MATLAB中的数据传送至中的数据传送至Excel中,方法是:单中,方法是:单击击【getmatrix】,在弹出的对话框中输入变量名,在弹出的对话框中输入变量名,单击,单击 即可将变量名中存放的数据送入即可将变量名中存放的数据送入Excel,并且显示在鼠标所在处。,并且显示在鼠标所在处。 4)evalstring(执行(执行MATLAB指令)指令) 执行合法的执行合法的MATLAB指令。例如,单击指令。例如,

35、单击【evalstring】,在弹出的对话框中输入指令,在弹出的对话框中输入指令“clc”,单击,单击 ,即对,即对MATLAB的命令窗口进行的命令窗口进行了清除操作。了清除操作。 2022-3-22机械工业出版社Page 435)getfigure举例如下:单击举例如下:单击【evalstring】,在弹出的对话框,在弹出的对话框中输入以下指令,然后单击中输入以下指令,然后单击 ,MATLAB即即执行了画正弦曲线的操作。此时单击执行了画正弦曲线的操作。此时单击【getfigure】,即将图形窗口送入到,即将图形窗口送入到Excel中显示,并且可以任中显示,并且可以任意改变图形的大小和位置。意

36、改变图形的大小和位置。 plot(0:0.001:4*pi, sin(0:0.001:4*pi) 6)wizard(在(在Excel中添加中添加MATLAB函数)函数)为了在为了在Excel中直接调用中直接调用MATLAB函数,可利用函数,可利用【wizard】将将MATLAB函数放入函数放入Excel中的指定单元中的指定单元格,将包含格,将包含MATLAB函数的单元格选中,然后按函数的单元格选中,然后按下下F2键,即可执行此键,即可执行此MATLAB函数。函数。 2022-3-22机械工业出版社Page 447)preferences(MATLAB/Spreadsheet Link EX选项

37、设置)选项设置) preferences用于当用于当Excel启动时对启动时对MATLAB的启动选项的启动选项进行设置,界面如图进行设置,界面如图7-11所示。将鼠标置于所示。将鼠标置于每一选项,则会显示每一选项,则会显示该选项的功能。该选项的功能。 2022-3-22机械工业出版社Page 45Start MATLAB at Excel startup:设置:设置MATLAB是否随是否随 Excel启动启动 MATLAB startup folder:设置:设置MATLAB的当前路径的当前路径 Use MATLAB desktop:选中此项,:选中此项,MATLAB以全桌以全桌面启动,否则,

38、面启动,否则,MATLAB只显示命令窗口只显示命令窗口 Show MATLAB errors:设置是否在:设置是否在Excel中显示所有中显示所有MATLAB错误提示错误提示 Force use of MATLAB cell arrays with MLPutMatrix:设置从设置从Excel向向MATLAB传送的数据是否以单元阵列显示传送的数据是否以单元阵列显示 Treat missing/empty cells as NaN:设置送入:设置送入MATLAB的空单元是否以的空单元是否以NaN或或0显示显示 2022-3-22机械工业出版社Page 46Excel和和MATLAB之间的数据传

39、送之间的数据传送 1)在)在Excel中输入中输入2行行3列数据列数据 2022-3-22机械工业出版社Page 472)将上述的)将上述的2行行3列数据选中,单击列数据选中,单击【putmatrix】,在弹出的对话框中输入变量名,在弹出的对话框中输入变量名a,单击,单击 ,即将数据存入变量,即将数据存入变量a中;中; 2022-3-22机械工业出版社Page 483)在随)在随Excel启动的启动的MATLAB的命令窗口输入的命令窗口输入a,然后回车,即显示一个然后回车,即显示一个2行行3列的矩阵;列的矩阵;4)在)在MATLAB中对变量中对变量a进行乘进行乘2运算:在命令窗运算:在命令窗口

40、输入口输入“b=2*a”,然后回车;,然后回车; 2022-3-22机械工业出版社Page 495)将鼠标定位在)将鼠标定位在Excel中的中的D3处,单击处,单击【getmatrix】,在弹出的对话框中输入,在弹出的对话框中输入b,然后单击,然后单击 ,即将矩阵,即将矩阵b显示在显示在Excel中中 2022-3-22机械工业出版社Page 50wizard的应用:将求平均值的函数的应用:将求平均值的函数mean添加到添加到Excel中,然后在中,然后在Excel中随机输入一个任意大小中随机输入一个任意大小的矩阵,再直接用已添加到的矩阵,再直接用已添加到Excel中的函数中的函数mean对矩

41、阵的每一列求平均值。对矩阵的每一列求平均值。 1)打开)打开Excel,选中单元格,选中单元格F1,单击,单击【wizard】,在弹出的对话框中在弹出的对话框中【Select a category】一栏选择一栏选择【matlabdatafun Data analysis and Fourier transforms】;2)在)在【Select a function】一栏中选择一栏中选择【mean】;2022-3-22机械工业出版社Page 513)在)在【Select a function signature】一栏中选择一栏中选择【MEAN(X)】,在弹出的对话框中,在弹出的对话框中【Inpu

42、ts】一栏一栏输入输入X:x,在,在【Optional output cell(s)】一栏输一栏输入入L; 2022-3-22机械工业出版社Page 524)单击)单击 ,此时的,此时的MATLAB Function Wizard界面如图界面如图 2022-3-22机械工业出版社Page 535)单击)单击 6)在)在Excel中输入中输入5行行6列的数据构成一个矩阵,双列的数据构成一个矩阵,双击单元格击单元格F1,将函数中的参数,将函数中的参数“L”用用“A9:E9”代代替,参数替,参数“x”用用“A1:E6”代替,然后按代替,然后按Enter键,键,函数即对矩阵的每一列求平均值,并将结果存

43、放在函数即对矩阵的每一列求平均值,并将结果存放在Excel中的中的A9:E9单元格,如图。单元格,如图。 2022-3-22机械工业出版社Page 54利用利用Excel Link在在Excel和和MATLAB之间建立连接之间建立连接后,后,Excel就变成一个功能强大的数据存储和应用就变成一个功能强大的数据存储和应用终端,终端,MATLAB就变成支持就变成支持Excel Link的后台软件的后台软件,所有利用,所有利用Excel Link的程序开发都在的程序开发都在Excel窗口窗口操作,而数据的详细信息则在操作,而数据的详细信息则在MATLAB命令窗口命令窗口查看。查看。Excel Lin

44、k提供了一系列的连接管理函数和提供了一系列的连接管理函数和数据处理函数来支持数据处理函数来支持Excel和和MATLAB的连接,使的连接,使得用户不必脱离得用户不必脱离Excel环境,而只需要以数据表单环境,而只需要以数据表单元的函数形式或宏命令来使用元的函数形式或宏命令来使用MATLAB提供的相提供的相关处理函数。关处理函数。 2022-3-22机械工业出版社Page 551)MLAutoStart用于设置用于设置Excel启动时启动时MATLAB是否随是否随Excel的启动的启动而自启动。初次设置完成后,系统将默认而自启动。初次设置完成后,系统将默认MATLAB随随Excel的启动而自启动

45、。如果不希望的启动而自启动。如果不希望MATLAB随随Excel自启动,则可以通过以下步骤完成:自启动,则可以通过以下步骤完成: 在在Excel的的A1单元格内输入单元格内输入“=MLAutoStart(”no“)”,如,如下图所示下图所示 2022-3-22机械工业出版社Page 56回车后关闭回车后关闭Excel。 当再次启动当再次启动Excel时,时,MATLAB就不再随其而自启动。就不再随其而自启动。若要使若要使MATLAB重新随重新随Excel的启动而自启动,则照上述方的启动而自启动,则照上述方法在法在A1单元格内输入单元格内输入“=MLAutoStart(yes)”,回车后关,回车

46、后关闭闭Excel即可。即可。 【显然,函数显然,函数MLAutoStartMLAutoStart实现的功能等同于图实现的功能等同于图7-187-18所示的所示的MATLAB/Spreadsheet Link ExMATLAB/Spreadsheet Link Ex选项设置对话框里的复选项选项设置对话框里的复选项“Start MATLAB at Excel startupStart MATLAB at Excel startup”,选中时相当于在,选中时相当于在A1A1单元单元格输入格输入“=MLAutoStart(yes)=MLAutoStart(yes)”,未选中时相当于在,未选中时相当于

47、在A1A1单元单元格输入格输入“=MLAutoStart(no)=MLAutoStart(no)”。 】2022-3-22机械工业出版社Page 572)MATLABinit初始化初始化Excel Link,手动启动,手动启动MATLAB。当。当MATLAB没有随没有随Excel的启动而自启动时,可以用的启动而自启动时,可以用宏命令的方式运行宏命令的方式运行MATLABinit,手动启动,手动启动MATLAB,步骤如下:,步骤如下: 依次单击依次单击Excel的菜单的菜单【工具工具】【宏宏】【宏宏】 在在【宏名宏名】一栏输入一栏输入“MATLABinit”,如右,如右图所示图所示 2022-3

48、-22机械工业出版社Page 58单击单击3)MLOpen功能同功能同MATLABinit,用于手动启动,用于手动启动MATLAB。该。该函数可以用单元表函数的形式运行,方法为:在函数可以用单元表函数的形式运行,方法为:在A1单元格输入单元格输入“=MLOpen()”,然后回车。,然后回车。 4)MLClose 与与MLOpen的功能相反,用于在的功能相反,用于在Excel继续运行继续运行的状态下终止的状态下终止MATLAB的运行。运行方法为:在的运行。运行方法为:在A1单元格输入单元格输入“=MLClose”,然后回车。,然后回车。 2022-3-22机械工业出版社Page 59matlab

49、fcn:对指定的:对指定的Excel数据执行数据执行MATLAB命令命令 matlabsub:对指定的:对指定的Excel数据执行数据执行MATLAB命令,命令, 并指定输出位置并指定输出位置 MLAppendMatrix:向:向MATLAB空间添加空间添加Excel中中 的数据的数据 MLDeleteMatrix:删除函数所指出的矩阵:删除函数所指出的矩阵 MLEvalString:执行函数所引用的合法的:执行函数所引用的合法的MATLAB命令命令 2022-3-22机械工业出版社Page 60MLPutMatrix:将:将Excel中的数据创建成或覆盖中的数据创建成或覆盖 MATLAB中的

50、矩阵中的矩阵 MLPutVar:将:将VBA中的数据创建成或覆盖中的数据创建成或覆盖MATLAB 中的矩阵中的矩阵 MLGetMatrix:将:将MATLAB数据写入指定的数据写入指定的Excel工工 作区作区 MLGetVar:将:将MATLAB中的数据写入指定的中的数据写入指定的Excel 数据表数据表VBA中中 2022-3-22机械工业出版社Page 61在使用在使用Excel Link前,需要先在前,需要先在Excel Link插件中插件中对函数进行如下设置:对函数进行如下设置: 1)依次单击菜单)依次单击菜单【工具工具】【宏宏】【Visual Basic 编辑器编辑器】 2)在)在

51、Visual Basic编辑器界面上依次单击菜单编辑器界面上依次单击菜单【插入插入】 【模块模块】 3)在)在Visual Basic编辑器界面上再依次单击菜单编辑器界面上再依次单击菜单【工具工具】 【引用引用】 4)在打开的)在打开的【引用引用-VBAProject】对话框的对话框的“可使用的可使用的引引 用用”列表框里,选中复选项列表框里,选中复选项【SpreadsheetLinkEX】 ,如下图所示。,如下图所示。2022-3-22机械工业出版社Page 625)单击)单击 2022-3-22机械工业出版社Page 63Excel Link主要用于诸多以数学理论为基础的大主要用于诸多以数

52、学理论为基础的大批量数据处理问题,例如:回归和曲线拟合、数批量数据处理问题,例如:回归和曲线拟合、数据插值、股票评价、金融证券领域的计算和债券据插值、股票评价、金融证券领域的计算和债券的现金流量分析等。的现金流量分析等。MATLAB的安装目录的安装目录R2010atoolboxexlink下有一个名为下有一个名为“ExliSamp.xls”的文件,将其打开,其中包含了的文件,将其打开,其中包含了6个标签,分别对应不同的应用实例。个标签,分别对应不同的应用实例。2022-3-22机械工业出版社Page 64回归和曲线拟合回归和曲线拟合 激活文件激活文件ExliSamp.xls中的中的Sheet1

53、标签,其中的标签,其中的A4:C28单元包含了单元包含了25行行3列数据,右侧的列数据,右侧的7种选项种选项是对这组数据的处理功能。是对这组数据的处理功能。 功能功能1 1(函数在(函数在E5E5单元):用函数单元):用函数MLPutMatrixMLPutMatrix将上述数据赋将上述数据赋 给变量给变量datadata并将其存储在并将其存储在MATLABMATLAB变量空间;变量空间;功能功能2 2(函数在(函数在E8E10E8E10单元):对回归函数进行设置;单元):对回归函数进行设置;功能功能3 3(函数在(函数在E13E13单元):用反除法计算回归系数;单元):用反除法计算回归系数;功

54、能功能4 4(函数在(函数在E16E16单元):用向量乘法计算回归结果;单元):用向量乘法计算回归结果;功能功能5 5(函数在(函数在E19E21E19E21单元):将原始数据与回归结构进行单元):将原始数据与回归结构进行 比较;比较;功能功能6 6(函数在(函数在E24E25E24E25单元):对数据进行多项式拟合;单元):对数据进行多项式拟合;功能功能7 7(函数在(函数在E28E28单元):画曲线并对曲线进行标注。单元):画曲线并对曲线进行标注。 2022-3-22机械工业出版社Page 65用鼠标选中用鼠标选中E5单元,然后依次按下键盘上的单元,然后依次按下键盘上的F2键键和和Ente

55、r键,系统依次执行功能键,系统依次执行功能1到功能到功能7,运行结,运行结果如图。果如图。 05101520250100020003000400050006000 datafitnewfit2022-3-22机械工业出版社Page 66数据插值数据插值 激活文件激活文件ExliSamp.xls中的中的Sheet3标签,其中的标签,其中的A5:C29单元包含了单元包含了25行行3列数据,下面的列数据,下面的5种选项种选项是对这组数据的处理功能。是对这组数据的处理功能。 功能功能1 1(函数在(函数在A33A36A33A36单元):用函数单元):用函数MLPutMatrixMLPutMatrix将

56、原将原 始数据送至始数据送至MATLABMATLAB变量空间;变量空间;功能功能2 2(函数在(函数在A39A40A39A40单元):将插值数据点送至单元):将插值数据点送至 MATLAB MATLAB变量空间;变量空间;功能功能3 3(函数在(函数在A43A43单元):执行单元):执行MATLABMATLAB数据插值函数;数据插值函数;功能功能4 4(函数在(函数在A46A47A46A47单元):将输出数据矩阵转置并返单元):将输出数据矩阵转置并返 回至回至ExcelExcel;功能功能5 5(函数在(函数在A50A50单元):画图。单元):画图。 2022-3-22机械工业出版社Page 67此例

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论