22 May 2010
MATLAB与Microsoft Word的连接
MathCAD文字处理是非常强的,那么MATLAB的文字处理又将如何呢?MathWorks公司开发的MATLAB Notebook成功地将Microsoft Word和MATLAB结合在一起,为文字处理、科学计算和工程设计营造了一个完美的工作环境。这样MATLAB不仅兼具原有的计算能力,而且又增加了 Word软件的编辑能力,已经远远的把MathCAD抛在后面。MATLAB Notebook可以在word中随时修改计算命令,随时计算并生成图像返回,使用户能在Word环境中“随心所欲地享用”MATLAB的浩瀚科技资源。 MATLAB Notebook的工作方式是:用户在word文档中创建命令,然后送到MATLAB的后台中执行,最后将结果返回到word中。
建议撰写科技报告、论文、专著的科学工作者使用MATLAB Notebook,建议讲授、编写理工科教材的教师使用MATLAB Notebook,建议对于演算理工科习题的广大学生使用MATLAB Notebook。MATLAB Notebook的强大功能将会使你事半功倍。
1 安装MATLAB Notebook
从上面的介绍中可以看出,使用MATLAB Notebook时,你的计算机中必须有Word和MATLAB。本书以MATLAB6.5和word2000为例。MATLAB Notebook文件又称为M-book文件。MATLAB6.5的Notebook是在MATLAB环境下安装的。具体步骤如下:
(1)在系统中分别安装MATLAB6.5和word2000,并启动 MATLAB6.5命令窗口;
(2)在命令窗口中输入:
>> notebook -setup
就会得到如下提示:
Welcome to the utility for setting up the MATLAB Notebook
for interfacing MATLAB to Microsoft Word
Choose your version of Microsoft Word:
[1] Microsoft Word 97
[2] Microsoft Word 2000
[3] Microsoft Word 2002 (XP)
[4] Exit, making no changes
(3)根据安装的Word的版本选择相应的代号,本文选择如下:
Microsoft Word Version: 2
Notebook setup is complete.
这样你就可以使用MATLAB Notebook了。有两种方法可以打开一个M-book文件。
(1)直接在MATLAB命令窗口键入命令来新建或打开一个M-book文件:
>> notebook %新建一个M-book(不建议使用,在我的计算机里经常出错)
>> notebook c:\documents\mymbook.doc %打开一个已经存在的M-book
(2)先打开word2000,然后打开文件(F)/新建(不要直接点击新建按钮),弹出图11-1对话框。选中其中的m-book模板。在新建的word文档中就会出现图11-2中黑圈所在的菜单栏。
2 使用MATLAB Notebook
Notebook是通过动态链接来和MATLAB交互的。Notebook和MATLAB交互的基本单位为细胞。Notebook需要输入MATLAB中的命令组成细胞,再传到MATLAB中运行,运行输出的结果再以细胞的方式传回Notebook。
1. 在Word中执行命令的基本过程
Notebook采用输入细胞(input cell)来定义MATLAB的输入命令。步骤如下:
(1)采用文本格式输入命令,在命令结束时不要按回车和空格键;
(2)从Notebook菜单中选中“Define Input Cell”选项,用来定义输入细胞;
(3)从Notebook菜单中选中“Evaluate Cell”选项或者Ctrl+Enter。
其中输入细胞都显示为黑方括号包括的绿色字符,输出细胞都是黑方括号包括的蓝色字符,如果出现错误黑方括号包括的红色字符,其它文本都默认为黑色字符。如下:(作者注释:无专门标示的行为蓝色)
m=eye(3) (作者注释:此行为绿色)
m =
1 0 0
0 1 0
0 0 1
m/0 (作者注释:此行为绿色)
Warning: Divide by zero.
(Type "warning off MATLAB:divideByZero" to suppress this warning.)
ans =
Inf NaN NaN
NaN Inf NaN
NaN NaN Inf
m=eye(3) n=eye(4) (作者注释:此行为绿色)
??? format compact;m=eye(3) n=eye(4)
| (作者注释:此行以及上下两行为红色)
Error: Missing operator, comma, or semicolon. 绿色)
2. 实例讲解
在一段文本中间执行代码
在MATLAB中,可以把输入细胞放在文本中间运行,而不影响其它文本。步骤如下:
(1)输入样本如下,将m=eye(3)放到文本中间。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你去过《动力学与控制技术》论坛吗?m=eye(3) 那里有很多好东西。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(2)选中命令,如下所示:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你去过《动力学与控制技术》论坛吗?m=eye(3) 那里有很多好东西。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(3)从Notebook菜单中选中“Evaluate Cell”选项或者Ctrl+Enter。将会出现上面例子中类似的结果。
(4)如果要将输出细胞转化为普通文本,选中要转换的细胞,然后从 Notebook菜单中选中“Undefine Cells”选项或者Alt+U。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你去过《动力学与控制技术》论坛吗?m=eye(3) 那里有很多好东西。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
m =
1 0 0
0 1 0
0 0 1
【实例】绘制一幅图片
生成完整图形的多条图形指令必须定义在同一细胞群中
t=0:0.1:20;y=1-cos(t).*exp(-t/5);
Time=[0,20,20,0];
Amplitude=[0.95,0.95,1.05,1.05];
fill(Time,Amplitude,'g'),axis([0,20,0,2]);
xlabel('Time'),ylabel('Amplitude');
hold on
plot(t,y,'r','LineWidth',2)
hold off
ymax=min(y)
将以上程序写到Word当中,然后全部选上,然后选择【Notebook|Define Input Cell】,最后从Notebook菜单中选中【Evaluate Cell】选项,或者Ctrl+Enter。得到如下结果
t=0:0.1:20;y=1-cos(t).*exp(-t/5);
Time=[0,20,20,0];
Amplitude=[0.95,0.95,1.05,1.05];
fill(Time,Amplitude,'g'),axis([0,20,0,2]),xlabel('Time'),ylabel('Amplitude');
hold on
plot(t,y,'r','LineWidth',2)
hold off
ymax=min(y)
ymax =
0
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment