>"后面输入命令,这" />
PART I 教材复习要点第一章 MATLAB 入门测试1.11.MA TLAB 的命令窗口的作用是什么?编辑/调试窗口?图象窗口? MATLAB 命令窗口是MA TLAB 起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。
命令窗口也可以用来执行M 文件。
编辑/调试窗口是用来新建,修改或调试M 文件的。
图像窗口用来显示MATLAB 的图形输出。
2.列出几种不同的得到MATLAB 帮助的方法。
(1)在命令窗口中输入help <command_name>,本命令将会在命令窗口中显示关于些命令的有信息。
(2)在命令窗口中输入lookfor <keyword>,本命令将会在命令窗口中显示所有的在第一注释行中包含该关键字的命令和函数。
(3)通过在命令窗口输入helpwin 或helpdesk 启动帮助浏览器,或者是在启动板中选择"Help"。
帮助浏览器包含了基于超文本的MATLAB 所有特性的描述,HTML 或PDF 格式的在线手册,这是MATLAB 最全面的帮助资源。
3.什么是工作区?在同一工作区内,你如何决定它里面存储了什么?工作区是命令、M 文件或函数执行时被MATLAB 使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos 命令来查看,或者通过工作区浏览器来图形化地查看。
4.你怎样清空MATLAB 工作区内的内容?要清除工作区的内容,只需在命令窗口中输入clear 或clear variables 即可。
第二章MATLAB 基础测试2.11.数组,矩阵,向量有什么区别?数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。
术语"向量"通常用来描述只有一维的数组,而"矩阵"通常用来描述二维或更多维的数组。
2.回答关于下列矩阵的有关问题⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=0.05.56.03.11.36.01.16.06.04.32.31.1C(a)C 的大小是多少?这是一个3×4数组; (b)C(2,3)的值是多少?c(2,3) = -0.6;(c)列出值为0.6的元素的下标?数组中值为0.6的元素是c(1,4),c(2,1)和c(3,2)。
3.确定下列数组的大小,通过whos 或工作空间窗口(The workspace browser )检查你的答案。
注意在本练习中后面的数组可能要用到前面数组的定义。
(a) u=[10 20*i 10+20] (b) v=[-1;20;3](c) w=[1 0 -9;2 -2 0;1 2 3] (d) x=[u' v] (e) y(3,3)=-7(f) z=[zeros(4,1) ones(4,1) zeros(1,4)'](g) v(4)=x(2,1)数组大小分别是:(a) 1×3;(b) 3×1;(c) 3×3;(d) 3×2;(e) 3×3;(f) 4×3;(g) 4×1 4.w(2,1)的值是多少?w(2,1) = 2 5.x(2,1)的值是多少?x(2,1) = -20i 6.y(2,1)的值是多少? y(2,1) = 07.当语句(g )执行后,v(3)的值是多少?v(3) = 3测试2.21. c 数组的定义如下,写出下面子数组的内容。
c =1.1000 -3.2000 3.4000 0.6000 0.6000 1.1000 -0.6000 3.1000 1.3000 0.6000 5.5000 0 (a) c(2,:) (b) c(:,end) (c) c(1:2,2:end) (d) c(6)(e) c(4:end) (f) c(1:2,2:4) (g) c([1 4],2) (h) c([2 2],[3 3])答案:(a) c(2,:) = [0.6 1.1 -0.6 3.1](b) d(:,4) = ⎣⎢⎡⎦⎥⎤0.63.10.0(c) c(1:2,2:4) = ⎣⎡⎦⎤-3.2 3.40.61.1-0.63.1 (d) c(6) = 0.6(e) c(4,end) = [-3.2 1.1 0.6 3.4 -0.6 5.5 0.6 3.1 0.0](f) c(1:2,2:end) = ⎣⎡⎦⎤-3.2 3.40.61.1-0.63.1(g) c([1 3],2) = ⎣⎡⎦⎤-3.20.6(h) c([2 2],[3 3]) = ⎣⎡⎦⎤-0.6-0.6-0.6-0.62.当赋值语句执行后,下列数组的内容是多少? (a) a=[1 2 3; 4 5 6; 7 8 9]; a([3 1],:)=a([1 3],:); (b) a=[1 2 3; 4 5 6; 7 8 9]; a([1 3],:)=a([2 2],:); (c) a=[1 2 3; 4 5 6; 7 8 9]; a=a([2 2],:); 答案:(a) a = ⎣⎢⎡⎦⎥⎤789456123 (b) a = ⎣⎢⎡⎦⎥⎤456456456 (c) a = ⎣⎡⎦⎤4564563.当数组执行后,下列数组a 的内容是多少? (a) a=eye(3,3); b=[1 2 3]; a(2,:)=b; (b) a=eye(3,3); b=[4 5 6 ]; a(:,3)=b'; (c) a=eye(3,3);b=[7 8 9];a(3,:)=b([3 1 2]);答案:(a) a = ⎣⎢⎡⎦⎥⎤100123001(b) a = ⎣⎢⎡⎦⎥⎤104015006(c) a = ⎣⎢⎡⎦⎥⎤100010978例2.1假设a,b,c 和d 的定义如下⎥⎦⎤⎢⎣⎡=1201a ⎥⎦⎤⎢⎣⎡-=1021b ⎥⎦⎤⎢⎣⎡=23c 5=d 分别指出下列表达式的运算结果 (a) a + b (b) a .* c (c) a * b (d) a * c (e) a + c (f) a + d (g) a .* d (h) a * d答案: (a ) 这是一个数组或矩阵加法:⎥⎦⎤⎢⎣⎡=+2220b a 。
(b ) 这是一个数组乘法:⎥⎦⎤⎢⎣⎡-=1001*.b a 。
(c ) 这是一个矩阵乘法:⎥⎦⎤⎢⎣⎡--=5221*b a 。
(d ) 这是一个矩阵乘法:⎥⎦⎤⎢⎣⎡=83*c a 。
(e ) 操作非法,两数组形不同(f ) 数组与标量的加法:⎥⎦⎤⎢⎣⎡=+6756d a 。
(g ) 数组乘法:⎥⎦⎤⎢⎣⎡=51005*.d a 。
(h )矩阵乘法:⎥⎦⎤⎢⎣⎡=51005*d a 。
测试2.4本测试提供了一个快速的检查方式,看你是否掌握了2.8和2.9的基本内容。
如果你对本测试有疑问,你可以重读2.8和2.9,问你的老师,或和同学们一起讨论。
在附录B 中可以找到本测试的答案。
1.假设abcd 的定义如下,计算下面合法运算的结果,如果不合法,指出原因⎥⎦⎤⎢⎣⎡-=2112a ⎥⎦⎤⎢⎣⎡-=1310b ⎥⎦⎤⎢⎣⎡=21c3-=d(a) result = a .* c; (b) result = a * [c c]; (b) result = a .* [c c]; (d) result = a + b * c; (e) result = a + b .* c; 答案:(a) 操作非法。
数据相乘必须有相同形式,或者数组与标量之间相乘。
(b) 合法矩阵相乘:result = ⎣⎡⎦⎤4433 (c) 合法数据相乘:result = ⎣⎡⎦⎤21-24(d) 操作非法。
矩阵相乘b * c 产生一个 1×2数组,而a 是一个2×2数组,故相加非法。
(e) 操作非法。
在两个不同大小的数组之间相乘b .* c 是非法的。
2.求矩阵x ,已知Ax=B,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=101232121A⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=011B 结果可通过x = A/B 操作得到:x = ⎣⎢⎡⎦⎥⎤-0.51.0-0.5练习2.1看下面的数组回答有关问题⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=0.01.10.01.54.13.14.03.01.01.24.38.26.61.10.00.65.31.20.01.11array a. array1的大小是多少? b. array1(4,1)的值是多少?c. array1(:,1:2)的大小和值为多少?d.array1([1 3],end)的大小和值为多少?2.2下面的变量名那些合法那些不合法.为什么? a. dog1 b. 1dog c. Do_you_know_the_way_to_san_jose d. _help e. What's_up?2.3写出下面的数组的大小和内容.注意后面的数组可能根据前面数组的定义. a. a=1:2:5; b. b=[a' a' a'];c. c=b(1:2:3,1:2:3);d. d=a+b(2,:);e. w=[zeros(1,3) ones(3,1)' 3:5'];f. b([1 3],2)=b([3 1],2);2.4数组定义如下,写下面的子数组的内容⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=0.01.10.01.54.13.14.03.01.01.24.38.26.61.10.00.65.31.20.01.11array a. array1(3,:) b. array1(:,3)c. array1(1:2:3,[3 3 4])d. array1([1 1],:)2.6a,b,c 的定义如下,如果下面运算是合法的,那么写出结果,如果不合法,说出原因.⎥⎦⎤⎢⎣⎡--=2122a ⎥⎦⎤⎢⎣⎡-=2011b ⎥⎦⎤⎢⎣⎡-=21a)2(eye d =a. result=a+b;b. result=a*d;c. result=a.*d;d. result=a*c;e. result=a.*c;f. result=a\b;g. result=a.\b;h. result=a .^ b;2.9求下列联立方程组中的各x 的值.20.40.50.40.40.40.20.60.40.60.20.40.60.30.100.20.20.50.60.30.40.60.10.30.50.40.60.10.10.40.60.20.50.10.20.00.10.40.30.10.50.2654321654321654321654321654321654321-=-++++-=+-+++-=----+-=-+--+-=++---=-++++-x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x测试5.1本测试提供了一个快速的检查方式,看你是否掌握了5.1到5.3的基本内容。