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. 实例讲解
【实例11-1】 在一段文本中间执行代码
在MATLAB中,可以把输入细胞放在文本中间运行,而不影响其它文本。步骤如下:
(1)输入样本如下,将m=eye(3)放到文本中间。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你去过《振动》论坛吗?m=eye(3) 那里有很多好东西。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(2)选中命令,如下所示:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你去过《振动》论坛吗?m=eye(3) 那里有很多好东西。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(3)从Notebook菜单中选中“Evaluate Cell”选项或者Ctrl+Enter。将会出现上面例子中类似的结果。
(4)如果要将输出细胞转化为普通文本,选中要转换的细胞,然后从Notebook菜单中选中“Undefine Cells”选项或者Alt+U。执行结果见图12-3。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你去过《振动》论坛吗?m=eye(3) 那里有很多好东西。%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
m =
1 0 0
0 1 0
0 0 1
【实例11-2】绘制一幅图片
生成完整图形的多条图形指令必须定义在同一细胞群中
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 |