PART I  教材复习要点
第一章  MATLAB入门
测试1.1
1.MATLAB的命令窗口的作用是什么?编辑/调试窗口?图象窗口?
MATLAB命令窗口是MATLAB起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。命令窗口也可以用来执行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.1
1.数组,矩阵,向量有什么区别?
数组是在内存中被组织成行和列的数据集合,只有一个名称,数据要通过在数组名后面圆括号里加上表示数据所在行和列的数字来访问。术语"向量"通常用来描述只有一维的数组,而"矩阵"通常用来描述二维或更多维的数组。
2.回答关于下列矩阵的有关问题
(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)。
matlab定义函数表达式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)        (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) =
(c) c(1:2,2:4) =
(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) =
(g) c([1 3],2) =
(h) c([2 2],[3 3]) =
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],:);
答案:
(a) a =         (b) a =         (c) a =
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]);
答案:
(a) a =         (b) a =         (c) a =
例2.1
假设a,b,c和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)    这是一个数组或矩阵加法:
(b)    这是一个数组乘法:
(c)    这是一个矩阵乘法:
(d)    这是一个矩阵乘法:
(e)    操作非法,两数组形不同
(f)    数组与标量的加法:
(g)    数组乘法:
(h)    矩阵乘法:
测试2.4
本测试提供了一个快速的检查方式,看你是否掌握了2.8和2.9的基本内容。如果你对本测试有疑问,你可以重读2.8和2.9,问你的老师,或和同学们一起讨论。在附录B中可以到本测试的答案。
1.假设abcd的定义如下,计算下面合法运算的结果,如果不合法,指出原因
                   
(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 =
(c) 合法数据相乘:result =
(d) 操作非法。矩阵相乘b * c 产生一个 1×2数组,而a是一个2×2数组,故相加非法。
(e) 操作非法。在两个不同大小的数组之间相乘b .* c是非法的。
2.求矩阵x,已知Ax=B,
       
结果可通过x = A/B操作得到:x =
练习2.1
看下面的数组回答有关问题
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
数组定义如下,写下面的子数组的内容
a. array1(3,:)
b. array1(:,3)
c. array1(1:2:3,[3 3 4])
d. array1([1 1],:)
2.6
a,b,c的定义如下,如果下面运算是合法的,那么写出结果,如果不合法,说出原因.
       
           
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的值
测试5.1
本测试提供了一个快速的检查方式,看你是否掌握了5.15.3的基本内容。如果你对本测试有疑问,你可以重读5.15.3,问你的老师,或和同学们一起讨论。在附录B中可以到本测试的答案。
1.    脚本文件与函数的区别是什么?
脚本文件是保存在文件中的MATLAB语句集合。脚本文件共享命令窗口工作区,所以任何之前运行的脚本文件中定义的变量都能被当前脚本文件使用,脚本文件定义的变量在文件执行之后还保留在工作区中。脚本文件没有输入参数,也没有输出参数,不过脚本文件之间可以通过工作区交换数据。相反,每一个MATLAB函数运行在它自己的独立工作区,函数通过输入参数列表获取输入数据,通过输出参数列表给调用者返回数据。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。