MATLAB與Word、Excel的混合使用

  华夫人:我们Notebook是由MathWork公司在MATLAB5.0中开始增加,实MATLAB和Word的连接。
  唐伯虎:哼!我们ExcelLink是在Windows环境下实现的Excel与Matlab连接。
  华夫人:用了我们Notebook的人能在Word环境中“随心所欲的享用”MATLAB的浩瀚科技资源,感受到文字处理、科学计算、工程设计于一体的完美环境。
  唐伯虎:没有错!而用了我们ExcelLink的朋友,在工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能时,根本不需要脱离Excel环境。实在是居家旅行.....
  华夫人:杀人灭口......
  唐伯虎、华夫人:必备良药!!!

  ,开个玩笑,切入正题哈。
一、MATLAB和Word的混合使用
  当然我们的计算机中得有MATLAB和word,生成的MATLAB Netobook文件又称为M-book文件。以下均以MATLAB R2014a和Microsoft Office Word 2003版本为例,其他版本则稍有出入。
  1、Netobook的安装和使用环境。
   启动MATLAB命令窗口,在其中输入:
     >>notebook -setup
   得到以下提示:
   
   这样就可以使用MATLAB Notebook了。打开Notebook有两种方法。
   (1)在MATLAB命令窗口输出:
     >>notbook  %新建一个M-book
   (2)直接打开M-book.dot文件。
   2、Netobook实例
    其实Notebook就是一个Word的模板文档。它是通过动态链接和MATLAB进行交互的。其中交互的基本单位是“细胞”(cell)。M-book需要把在Word中输入的命令或者语句组成细胞。再传到MATLAB中运行,运行输出的结果继续以“细胞”的形式呈现在Notebook里。
    以下是Netobook空白模板:(与Word相差就是下面的Notebook栏了)
             
      (1)、执行命令的基本过程
  • 采用文本格式输入命令,在命令结束时则不是按回车和空格;
  • 从Notebook菜单中选中"Define Input Cell"选项,用来定义输入细胞;
  • 从Notebook菜单中选中"Evaluate Cell"选项或者Ctrl+Enter。
    其中输入细胞都显示黑色括号包括的绿色字符,输出的细胞都是黑色括号包括的蓝色字符,如果出现错误黑色括号包括的红色字符,其他文本默认为褐色字符(若觉得输不方便可先在MTALB编辑器中编辑)。如:
 
 
   若要将输出的细胞转化为普通文本,选中要转化的细胞,在Notebook菜单中选中"Undefine Cells"或者  Alt+U。
  (2)、例子
  代码如下:
 1 t=0:0.1:20;
 2 y=1-cos(t).*exp(-t/5);
 3 time=[0,20,20,0];
 4 amplitude=[0.95,0.95,1.05,1.05];
 5 fill(time,amplitude,'g'),axis([0,20,0,2]);
 6 xlabel(time'),ylabel('amplitude');
 7 hold on
 8 plot(t,y,'r','linewidth',2)
 9 hold off
10 ymax=min(y)

    结果如下:

  

  3、Notebook使用的几个小问题
  • 带鼠标操作的图形交互指令最好不要在Notebook文档中运行;
  • MTALAB指令在M-book文档中运行的速度比在MATLAB命令窗口中执行要慢的多;
  • 在需要打印Word文档时,可将细胞转化为普通文本,若以细胞形式打印将会影响打印效果;  
二、MATLAB和Excel的混合使用    
  在MATLAB的基础上使用Exce时,与Word稍有不同,多需要了一个进行链接的插件,名为Excel Link。它通过对两者的链接,用户可在Excel的工作空间里,利用Excel的宏编程工具,来进行相关操作,同时它可以保证两个工作环境中数据的交换和同步更新。  
   在初始安装MATLAB时,默认的安装组件是勾选了Excel link的。下来实在Excel Link的相应设置:
  1、Excel Link的安装
  • 启动Microsoft Excel,在工具菜单栏下找到"加载宏"。
  • 打开"加载宏"后,点击"浏览",接着选择用户自己的C:\Program Files\MATLAB\R2014a\toolbox\exlink下的excllink.xla文件,单击确定。如图:   
  • 返回"加载宏"窗口,单击确定。即可看到Excel窗口的变化,如下: 

   2、设置Excel Link的启动

    安装完成后,在每次启动Excel时,Excel Link和MATLAB将自动运行。若不希望运行,可在Excel数据表单元中输入"=MLAutoStart("no")"函数。当再次启动Excel时,Excel Link和MATLABJ将不再启动。如图:

       之后也可以在Excel中手动启动Excel Link和MATLAB。在工具菜单中选择"宏",接着选择"宏",在打开的"宏"对话框中输入"MATLANinit",即可。如图:
 
  3、终止Excel Link的运行
    当终止Excel时,Excel Link和MATLAB会被同时终止。
    如果需要在Excel环境中终止MATLAB和Excel Link,则在工作表单元中输入"=MLClose()"。当需要重新启动Excel Link和  MATLAB时,可选择MLOpen或MATLABinit命令来启动。
  4、Excel Link实例
    打开包含在MATLAB中安装路径为C:\Program Files\MATLAB\R2014a\toolbox\exlink的示例文件Exlisamp.xls。   
    4.1、数据表执行方式
      单击Exlisamp.xls中的Shteel标签,可以看到数据表中包含一个名为DATA的数组A4:C28。如图:
     具体步骤如下:
      (1)、选中单元E5,按F2键,回车执行函数"=MLPutMatrix("data",DATA)",将DATA拷贝到MATLAB中。DATA包含了    对3个变量的25次观测值,并且已知观测值有很强的线性相关性;
      (2)、对E8、E9、E10、E13、E16、E19、E20、E21、E24、E25、E28执行相同的操作。如图:
 代码如下:
 1 x=1:1:25;
 2 y1=[458
 3 476
 4 495
 5 521
 6 532
 7 533
 8 543
 9 602
10 635
11 671
12 766
13 913
14 938
15 1013
16 1038
17 1134
18 1163
19 1319
20 1325
21 1591
22 2006
23 2043
24 2904
25 3282
26 5326
27 ];
28 y2=[379.047453
29 430.3098643
30 462.4722
31 472.0433
32 501.7970821
33 476.7972595
34 467.2472272
35 570.8967919
36 641.1212438
37 743.6460664
38 767.5211469
39 773.558929
40 1143.781253
41 1279.593164
42 1201.21947
43 1098.694648
44 1251.081092
45 1478.743051
46 1163.157365
47 1479.157123
48 2086.177367
49 2011.591971
50 2.224352
51 3483.345306
52 5197.79632
53 ];
54 y3=[402.0080047
55 515.8528028
56 549.7113505
57 543.0183918
58 524.5498711
59 513.7749611
60 522.2080918
61 554.7609792
62 611.0946537
63 686.9714884
64 775.6072286
65 869.0230193
66 959.3974346
67 1040.418506
68 1108.635751
69 1164.812202
70 1215.276435
71 1273.274596
72 1360.322433
73 1507.557324
74 1757.090302
75 2163.358088
76 2794.475118
77 3733.58557
78 5080.215396
79 ];
80 plot(x,y1,'o',x,y2,':',x,y3,'-.')
81 legend('Data','Fit','Newfit')

    得出波形图如下:

 
       图中Data、Fit和Newfit三条曲线进行比较,可发现数据具有很强的相关性,且不是线性独立的,拟合曲线和原始数据并不是十分吻合,但5阶多项式拟合则显示了更加精确的数学模型。
    4.2、宏命令执行模式
      单击Sheet标签,激活单元A4,但先不要执行。单元A4调用宏CurveFit可以再Visual Basic环境下打开CurveFit。操作如下:
      (1)、在Excel中执行工具菜单栏下"宏"选项中的"Visual Basic编辑器",在工程中打开模板文件夹,如下图:
    
      (2)、选中Moduel,则可以打开该模块,如下图:
 
      (3)、在此模块打开的状态下,在其工具菜单栏中点击"引用"命令,在弹出的对话框中点击"Excellink"加载;
      (4)、返回到Sheet2的单元A4,按F2回车,执行宏CurveFit。它将排序后的数据y,fit和newfit从MATLAB拷贝到数据表中。如下图:
  5、Excel Link使用的几个小问题
    (1)、Excel Link函数执行的时一个特定操作,而Microsoft Excel的函数返回的时一个确定的数值,所以Excel的操作和函数在Excel Link函数的控制下会有不同的表现。 
    (2)、大多数Excel Link函数中有两种定义变量的方式,即直接和间接方式。将变量用双引号标记即可直接定义变量,如"=MLDeleteMatrix("Bonds")",函数中不加双引号的工作区单元地址或行列名称被视为间接变量,函数对其指引内容进行操作。工作区单元地址可以包含页表序号。   
 
 
 
 
更多相关文章
  • 


    		    智能的轉換Microsoft Word, Excel和PowerPoint文檔爲PDF
    activePDF DocConverter使你能够很容易地扩展PDF转换功能到你的网内的每个用户,在安装了产品之后,简单地配置转换器扫描到的文件夹,用户就可以开始通过直观的拖拉操作进行文件转换了. 具体功能: 拖拉转换PDF: 控件通过目录扫描进行即时的批量转换,只需要在网络上定义一个监视文件夹用
  • 


    		    word,excel,網頁上如何打x的n次方
    word,excel,网页上如何打x的n次方 文章不错,转来了!!! 为了打编程题的题目,而题目里面有X²,但我不懂,只好去网上查了,经过我的多方查找,最后总结了一下几种方法.如果大家谁还有知道的,记得评论幫我补下. 在word中 方法一:(推荐) 如10的平方先输入10然后按ALT键不放直接输入1
  • In one of my previous articles I explained Export GridView with Images from database to Word, Excel and PDF Formats In this article I am explaining ho ...
  • 原文: VSTO 为Office已有右键菜单添加自己的菜单项(word,Excel)           private void AddRightMenu()         {            Microsoft.Office.Core.CommandBar mzBar = appWord ...
  • 近期项目需求:1.要用到各种文件上传,下载. 2.并对文件进行搜索. 3.仅仅要文件里包括有搜索的内容,所有显示出来. 今天正好有时间整理一下,方便以后阅读,及对须要用到的朋友提供微薄之力.首先在实现文件上传时,使用的struts2自带的文件上传功能,通过流的方式将文件保存,在下载的时候通过流的方式 ...
  • 转载自:http://blog.sina.com.cn/s/blog_49972b950100c8o3.html Q:Microsoft office word 2003出现发送错误报告怎么辦? A:Word2003的模版损坏了,导致不能正常启动word.删除Normal.dot模版文件,WORD2 ...
  • 大家常常会遇到一种情形,那就是当Word打到一半的时候,此时电脑当机了,如果很久没有存档,那真是欲哭无泪,所以在此告诉大家一个小秘方. 一.设置自动保存时间间隔 1.单击Word 2003"工具"菜单中的"选项"命令,打开"选项"对话框的& ...
  • 自己的电脑太破,跑office 2010卡死个人,无法好好感受它的魅力,只好收集整理下介绍Office 2010优点的资料.Word和Excel是我经常用到的,以这两个软件为出发点,上网收集了下它们的优点如下: Word篇: 一.发现改进的搜索和导航体验.利用 Word 2010,可更加便捷地查找信
一周排行