1 引言
众所周知,微软公司的Word软件在文字处理方面功能强大,已广泛应用于科学研究的各个领域。但Word本身不具备数据运算功能,绘图功能也有限。Matlab是MathWorks公司推出的一套高性能的数值计算和可视化软件。它是一个高度集成的系统,集科学计算、图像处理、声音处理于一体,具有极高的编程效率。如何把Matlab的数值处理和绘图功能与Word结合起来,扩展Word的功能,使二者能协调地进行工作,本文将就此问题作一探讨(以Matlab 6.5和Word 2002为例)。
在土工试验的数据处理过程中,经常需要用图形法来描述试验结果,然后通过查图法来求得所需试验参数,例如在土的颗粒分析试验中,需要绘制级配曲线来确定土料的限制粒径和有效粒径以及,从而计算土的不均匀系数和曲率系数;在土的击实试验中,需要用击实曲线来体现试验结果,通过查图找出最大干密度和最优含水率;在土的三轴试验中,需要绘制摩尔圆来确定土的凝聚力C和内摩擦角φ。以前的处理方法是手工绘制或使用EXCEL工具中的图表功能,但是仅局限于其图形功能,而不能进行数值计算,相应的数值计算则需要人工进行。MATLAB不仅提供了图形功能,还增加了计算功能,使数据处理工作进一步简化。
2 Matlab 和小小少年英文版 Word 的链接
2.1 安装Matlab Notebook
有两种方法:一种是从Matlab系统中安装:首先启动Matlab 6.5,在命令窗口运行函数命令“notebook -tup”(中间有一空格)。回车后命令窗口出现如下提示:
>> Notebook -tup
Welcome to the utility for tting up the MATLAB Notebook for interfacing MATLAB to Microsoft Word(欢迎建立Matlab Notebook与Word的公用程序)
Choo your version of Microsoft Word:(选择你所使用的Word版本)
[1]Microsoft Word 97
[2]Microsoft Word 2OOO
[3]Microsoft Word 2002(XP)
[4]Exit,making no changes
Microsoft Word Version:3(我们这里选择3)
然后命令窗口出现如下提示:
Notebook tup is complete.(Matlab Notebook安装完成)
另一种方式是把C:\Matlab6p5\notebook\pc\M_book.dot文件直接拷贝到C:\Program Files\Microsoft office\office 10\2052目录下。
Matlab与Word互相调用的方法:(也可以作为安装是否成功的检测方法)
(1)在Matlab中调用Word:在Matlab命令窗口直接输入notebook命令,系统会自动启动Word,其主菜单栏中将增加Notebook一栏。
(2)northwestern在Word中调用Matlab:启动Word,然后选择“文件”菜单下的“新建”,在“根据模板新建”中选择“通用模板”,然后选择M-book文档。按确定后系统会自动启动Matlab。
2.2 Notebook 的使用指令
Notebook某种意义上即是Word中的M-book,Notebook是通过动态连接库和Matlab交互的,交互的基本单位称为细胞(Cel1)。交换的信息,称为“细胞(群)”。M-book需要把在Word中输入的Matlab命令或者语句组成细胞(群),传送到Matlab中运行,运行输出结果再以细胞(群)的方式传送回M-book中。这样Word中的输入细胞(群)下面会出现计算结果以及仿真图形。
“输入细胞”是由M-book传送给Matlab的命令,可以多行,也可以是包含在文本中的命令或者一段Matlab程序。“输出细胞”是由Matlab回传给M-book的计算结果。“自活细胞”是用[Notebook]汉堡包英语菜单中[Define AutoInit Cel1]命令定义的输入细胞,它和输入细胞不同之处是:每次打开M-book时会自动运行自活细胞,而不会运行输入细胞;自活细胞字符用深蓝色标注,而输入细胞用绿色标注。“细胞群”是包含多句Matlab命令的多行输入细胞或自活细胞。
生成输入细胞:在Word中,用文本格式输入指令,然后选中该部分,在[Notebook]菜单中用[Define Input Cel1]命令,这样M-book会把普通文本生成“输入细胞”,并用黑色括号把指令括起来,指令变为绿色字体。
然后在[Notebook]菜单中用[Evaluate Cell]选项,可以实现把生成细胞传送到Matlab中运算,运算结果会自动回传到M—book中,运算结果为蓝色标识。细胞群和细胞的操作相似。
Notebook还提供了计算区(Calc Zone),它把M-book分成几个相互独立的部分,包括:描述一个特定问题或特定操作文本,输入细胞,输出细胞。当定义一个计算区时,Notebook将该部分和M-book其它部分独立出来,它的定义以及运行和输入细胞的操作相似。
Notebook还提供了细胞的循环运行,首先选定欲重复运行的输入细胞(一定要是绿色细胞),接着在[Notebook]菜单中选[Evaluate Loop]选项。[Notebook]菜单功能如下表l所示。
表1 Notebook菜单功能
菜单项 | 快捷键 | 功能 |
Define Input Cell | ybarraAlt+I | 定义输入细胞 |
Define AutoInit Cell | Alt+A | 定义自活细胞 |
Define Calc Zone | Alt+Z | 定义计算区 |
Undefine Cells | Alt+U | 将细胞 转为文本 |
气球的英文单词新西兰留学费用Purge Selected Output Cells | Alt+P | 从所选篇幅中删除所有输出细胞 |
Group Cells | Alt+G | 生成细胞群瓦内萨 |
Ungroup Cells | 毫子 | sloggi是什么意思将细胞群转换为输入细胞和自活细胞 |
Hide(Show) Cells Markers | Alt+C | 显示(隐藏)生成细胞中的中括号 |
Toggle Graph Output for Cell | | 是否嵌入生成图形 |
Evaluate M-book | Alt+R | 运行整个M-book中的所有输入细胞c2c是什么 |
Evaluate Loop | Alt+L | 多次运行输入细胞 |
Evaluate Cell | Ctrl+Enter | 运行输入细胞 |
Evaluate Calc Zone | Alt+Enter | 运行计算区 |
Bring MATLAB to Front | Alt+F | 将MATLAB命令窗口调到前台 |
Notebook Options… | Alt+O | 设置数值和图形输出格式 |
| | |
3 MATLAB软件在土工试验中的应用