内容发布更新时间 : 2024/11/18 17:24:38星期一 下面是文章的全部内容请认真阅读。
PART I 教材复习要点
第一章 MATLAB入门
测试1.1
1.MATLAB的命令窗口的作用是什么?编辑/调试窗口?图象窗口? MATLAB命令窗口是MATLAB起动时第一个看到的窗口,用户可以在命令窗口提示符\后面输入命令,这些命令会被立即执行。命令窗口也可以用来执行M文件。编辑/调试窗口是用来新建,修改或调试M文件的。图像窗口用来显示MATLAB的图形输出。 2.列出几种不同的得到MATLAB帮助的方法。
(1)在命令窗口中输入help
工作区是命令、M文件或函数执行时被MATLAB使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos命令来查看,或者通过工作区浏览器来图形化地查看。 4.你怎样清空MATLAB 工作区内的内容?
要清除工作区的内容,只需在命令窗口中输入clear或clear variables即可。
第二章MATLAB基础
测试2.1
1.数组,矩阵,向量有什么区别?
数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。术语\向量\通常用来描述只有一维的数组,而\矩阵\通常用来描述二维或更多维的数组。
2.回答关于下列矩阵的有关问题
?1.1?3.23.40.6??
C??0.61.1?0.63.1???5.50.0??1.30.6?(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) = 0
7.当语句(g)执行后,v(3)的值是多少?v(3) = 3
测试2.2
1. 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) (e) c(4:end) (f) c(1:2,2:4) (g) c([1 4],2) 答案:
(a) c(2,:) = [0.6 1.1 -0.6 3.1]
?0.6?
(b) d(:,4) = ?3.1?
?0.0?
-3.23.40.6?
(c) c(1:2,2:4) = ??1.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]
-3.23.40.6?
(f) c(1:2,2:end) = ??1.1-0.63.1?
-3.2?
(g) c([1 3],2) = ??0.6?
-0.6-0.6?
(h) c([2 2],[3 3]) = ??-0.6-0.6?
2.当赋值语句执行后,下列数组的内容是多少? (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],:); 答案:
?789??456?(a) a = ?456? (b) a = ?456? (c) a = ??
?123??456?
3.当数组执行后,下列数组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]);
答案:
(d) c(6)
(h) c([2 2],[3 3])
456?456?
?100?(a) a = ?123?
?001?
例2.1
假设a,b,c和d的定义如下
?104?(b) a = ?015?
?006??100?(c) a = ?010?
?978?
?10???12??3? a??b?c???01??2? d?5 21??????分别指出下列表达式的运算结果 (a) a + b (b) a .* c (c) a * b (e) a + c (f) a + d (g) a .* d 答案: (a) (b) (c) (d) (e) (f) (g) (h)
(d) a * c (h) a * d
?02?这是一个数组或矩阵加法:a?b???。
22????10?这是一个数组乘法:a.*b??。 ??01???12?这是一个矩阵乘法:a*b???。
?25???3?这是一个矩阵乘法:a*c???。
?8?操作非法,两数组形不同
?65?数组与标量的加法:a?d???。
76???50?数组乘法:a.*d??。 ??105??50?矩阵乘法:a*d???。
105??测试2.4
本测试提供了一个快速的检查方式,看你是否掌握了2.8和2.9的基本内容。如果你对
本测试有疑问,你可以重读2.8和2.9,问你的老师,或和同学们一起讨论。在附录B中可以找到本测试的答案。
1.假设abcd的定义如下,计算下面合法运算的结果,如果不合法,指出原因
?21? a?????12??0?1? b????31??1?c???
?2?d??3
(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) 操作非法。数据相乘必须有相同形式,或者数组与标量之间相乘。 44?
(b) 合法矩阵相乘:result = ??33? 21?(c) 合法数据相乘:result = ??-24?