MATLAB系统仿真试题复习资料有答案.docx
- 文档编号:6194952
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:19
- 大小:94.08KB
MATLAB系统仿真试题复习资料有答案.docx
《MATLAB系统仿真试题复习资料有答案.docx》由会员分享,可在线阅读,更多相关《MATLAB系统仿真试题复习资料有答案.docx(19页珍藏版)》请在冰豆网上搜索。
MATLAB系统仿真试题复习资料有答案
PARTI教材复习要点
第一章MATLAB入门
测试1.1
1.MATLAB的命令窗口的作用是什么?
编辑/调试窗口?
图象窗口?
MATLAB命令窗口是MATLAB起动时第一个看到的窗口,用户可以在命令窗口提示符">>"后面输入命令,这些命令会被立即执行。
命令窗口也可以用来执行M文件。
编辑/调试窗口是用来新建,修改或调试M文件的。
图像窗口用来显示MATLAB的图形输出。
2.列出几种不同的得到MATLAB帮助的方法。
(1)在命令窗口中输入help
(2)在命令窗口中输入lookfor
(3)通过在命令窗口输入helpwin或helpdesk启动帮助浏览器,或者是在启动板中选择"Help"。
帮助浏览器包含了基于超文本的MATLAB所有特性的描述,HTML或PDF格式的在线手册,这是MATLAB最全面的帮助资源。
3.什么是工作区?
在同一工作区内,你如何决定它里面存储了什么?
工作区是命令、M文件或函数执行时被MATLAB使用的变量或数组的收集器,所有命令都在命令窗口(所有的脚本文件也是从命令窗口执行)共享公共工作区,因此它们也共享所有变量,工作区的内容可以通过whos命令来查看,或者通过工作区浏览器来图形化地查看。
4.你怎样清空MATLAB工作区内的内容?
要清除工作区的内容,只需在命令窗口中输入clear或clearvariables即可。
第二章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)。
3.确定下列数组的大小,通过whos或工作空间窗口(Theworkspacebrowser)检查你的答案。
注意在本练习中后面的数组可能要用到前面数组的定义。
(a)u=[1020*i10+20]
(b)v=[-1;20;3]
(c)w=[10-9;2-20;123]
(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.20003.40000.6000
0.60001.1000-0.60003.1000
1.30000.60005.50000
(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([14],2)(h)c([22],[33])
答案:
(a)c(2,:
)=[0.61.1-0.63.1]
(b)d(:
4)=
(c)c(1:
2,2:
4)=
(d)c(6)=0.6
(e)c(4,end)=[-3.21.10.63.4-0.65.50.63.10.0]
(f)c(1:
2,2:
end)=
(g)c([13],2)=
(h)c([22],[33])=
2.当赋值语句执行后,下列数组的内容是多少?
(a)a=[123;456;789];
a([31],:
)=a([13],:
);
(b)a=[123;456;789];
a([13],:
)=a([22],:
);
(c)a=[123;456;789];
a=a([22],:
);
答案:
(a)a=
(b)a=
(c)a=
3.当数组执行后,下列数组a的内容是多少?
(a)a=eye(3,3);
b=[123];
a(2,:
)=b;
(b)a=eye(3,3);
b=[456];
a(:
3)=b';
(c)a=eye(3,3);
b=[789];
a(3,:
)=b([312]);
答案:
(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*[cc];
(b)result=a.*[cc];
(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([13],end)的大小和值为多少?
2.2
下面的变量名那些合法那些不合法.为什么?
a.dog1b.1dogc.Do_you_know_the_way_to_san_jose
d._helpe.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([13],2)=b([31],2);
2.4
数组定义如下,写下面的子数组的内容
a.array1(3,:
)
b.array1(:
3)
c.array1(1:
2:
3,[334])
d.array1([11],:
)
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.1到5.3的基本内容。
如果你对本测试有疑问,你可以重读5.1到5.3,问你的老师,或和同学们一起讨论。
在附录B中可以找到本测试的答案。
1.脚本文件与函数的区别是什么?
脚本文件是保存在文件中的MATLAB语句集合。
脚本文件共享命令窗口工作区,所以任何之前运行的脚本文件中定义的变量都能被当前脚本文件使用,脚本文件定义的变量在文件执行之后还保留在工作区中。
脚本文件没有输入参数,也没有输出参数,不过脚本文件之间可以通过工作区交换数据。
相反,每一个MATLAB函数运行在它自己的独立工作区,函数通过输入参数列表获取输入数据,通过输出参数列表给调用者返回数据。
2.自定义函数的help命令是如何工作的?
help命令显示某个函数的所有注释行,直到遇到空白注释行或执行语句为止。
3.函数中的H1注释行有什么重要性?
H1注释行是文件中注释的第一行,这一行可以被lookfor命令搜索并显示。
应该把该函数的用途摘要写在这一行中。
4.什么是按值传递机制?
它对结构化编程有什么好处。
在值传递机制中,每个输入参数的副本而不是参数本身从调用者传递给函数。
这样设计可以避免输入数据在函数内被自由的修改,这可能并不是调用者实际上需要的,因而也为设计好程序提供保证。
5.如何使MATLAB函数带有选择性参数。
MATLAB函数可以有任意数量的参数,并且并不是每次函数调用时,每个输出参数都必须具备。
nargin函数用来确定函数被调用时实际提供了多少个参数,而nargout函数用来确定函数被调用后实际上有多少个输出参数。
第7,8题中,请你确定函数的调用是否正确。
如果它是错误的,指出错误所在。
7.
out=test1(6);
functionres=test1(x,y)
res=sqrt(x.^2+y.^2);
函数调用不正确。
调用test1必须提供二个输入参数。
在这种情况下,变量y在test1中将没有定义,函数被忽略。
8.
out=test2(12);
functionres=test2(x,y)
error(nargchk(1,2,nargin));
ifnargin==2
res=sqrt(x.^2+y.^2);
else
res=x;
end
函数调用正确
PARTII题型复习要点
一填空题:
1.MATLAB常用的4个操作界面(或窗口)有(指令窗口),(历史指令窗口),(当前目录浏览器)和(工作空间浏览器)。
2.MATLAB中的Inf或inf表示(无穷大),NaN或nan表示(非数),i或j表示(虚单元),eps表示(机器零阈值)。
3.MATLAB中的clc用于(清除指令窗内容),clf用于(清除图形窗),clear用于(清除工作空间里的内容)。
4.MATLAB中分号主要用作(数组行分隔符);(不显示运行结果指令);(指令行分隔符)。
5.MATLAB中用(回车或者enter)表示换行;如果要抑制显示结果,可在指令结束末尾加(分号或者“;”)符号。
6.二维数组的标识有(“全下标”标识 )(“单下标”标识)、(“逻辑1”标识)。
7.一维数组的创建可以采用(逐个元素输入法)、(冒号生成法)、(定数线性采样法)。
8.已知一个矩阵A,用全下标进行寻访,寻访它的第2行,第3列元素,可以用A(2,3)指令;寻访它的第2行的全部元素,可以用A(2,:
)指令。
9.MATLAB语言最大的特点是(数值计算)和(可视化)。
10.利用冒号运算符创建向量的基本语法如下:
X=J:
INC:
K。
其中J为(向量的第一个元素),而K为(向量的最后一个元素),INC为(向量元素递增的步长)。
二选择题
1.MATLAB是C(A.MATrixLABoratyB.MATrexLABoratoyC.MATrixLABoratoy)的缩写,它是一种以矩阵运算为基础的程序语言,以A(A.解释B.编译)方式工作,键入程序立即得出结果,人机交互性能好。
2.MATLAB的变量名可以包括ACD(A.英文字母B.常用运算符C.下划线D.阿拉伯数字E.控制字符),并且第一个字符必须是A(A.英文字母B.常用运算符C.下划线D.阿拉伯数字E.控制字符)。
MATLAB对大小写__C__(A.不敏感B.无关C.敏感),A和a被看作两个__B_(A.相同B.不同)的变量。
3.MATLAB预定义了一系列特殊变量,其中__D_代表圆周率,_F__代表机器零阈值(浮点数精度),__C_代表无穷大,__B_代表非数,__E_代表虚数单位。
(A.ansB.NaNC.InfD.piE.iF.epsG.exp)
4.在MATLAB中,每一个变量都被认为是___B_(A.矩阵B.向量C.标量),每一个元素都被看作__B__(A.整数B.复数C.实数)。
5.下列哪些是MATLAB预定义的变量名ADE。
(A.epsB.expC.absD.NaNE.ans)
6.请指出下列变量名中,哪些是合法的BE。
(A.abcd-2B.abcd_2C.2_abcdD.a变量E.ABCD2)
7.数组运算是对数组中的元素逐个进行运算。
下列属于矩阵运算有ADG,属于数组运算有BCEF。
(A.∙*B.\C.*D.∙\E.^F./G.∙^)
8.B(A.非数B.空矩阵C.全零矩阵)是指没有任何元素的矩阵,对任意矩阵赋值该矩阵,可以使它的元素__B_(A.消失B.清零)。
9.下列__ABD___运算会产生非数数据。
(A.0/0
B.∞/∞C.0×0D.0×∞E.0-0)
10.产生对角线上为全1,其余为0的2行3列矩阵的命令是__C__
A.ones(2,3)B.ones(3,2)C.eye(2,3)D.eye(3,2)
11.符号计算中的关系运算包括CD(A.>B.
12.当不指定变量时,MATLAB里的C(A.symB.symsC.findsym)函数可自动识别独立自变量;其中A(A.xB.yC.XD.Y)是首选符号变量。
13.已知a=0:
4.b=1:
5,下面的运算表达式出错的为C。
(A.a+bB.a./bC.a’*bD.a*b)
14.2*pi*(0:
10)/10指令执行后,产生的采样点个数为C个。
(A.9B.10C.11D.12)
15.想查看工作空间中的全部变量,下面哪些指令可以实现AC。
(A.whoB.classC.whosD.isa)
16.下列关于主函数的说法正确的有BCD。
(A.主函数必须与保存文件同名B.在指令窗或其它函数中可以直接调用C.在M函数文件中由第一个function引出D.每个函数文件中都必须有主函数)
17.在命令窗中键入__B_(A.figB.figureC.clfD.figuer),会得到一个空白的图形窗。
18.命令窗的输入行具有文字处理相似的编辑功能:
__C_(A.SpaceB.AltC.ESC)键用来清除当前输入行,回到空白状态;__A_(A.↑B.↓C.←D.→)键可以调出上一行历史命令,_B_(A.↑B.↓C.←D.→)键调出下一行命令,在需要调出曾经键入过的命令、修改重新执行时,可大大提高效率。
19.在命令窗中键入指令r=(-8)^(1/3),得到r的结果为__B__。
(A.-2.0000+0.0000iB.1.0000+1.7321iC.-1.0000-1.7321iD.1.0000-1.7321i)
三简答题
1.简述MATLAB命令窗的主要作用。
命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
是MATLAB提供给用户使用的管理功能的人机界面,其管理功能包括:
管理工作空间中的变量、数据的输入输出的方式和方法,开发、调试、管理M文件和M函数的各种工具。
2.简述MATLAB如何解释命令窗口输入的指令。
MATLAB搜索次序如下:
检查名字是否为变量,如果是则显示变量,否则进行下一步;检查名字是否为内建函数,如果是,则执行该函数,否则进行下一步;检查名字是否为当前目录下的M文件,如果是,则执行该文件,否则执行下一步;检查名字是否为搜索路径上的M文件,如果是,则执行该文件。
3.简述MATLAB函数的基本结构。
典型M函数文件的结构:
函数申明(定义)行(Functiondeclarationline)、H1行(Thefirsthelptextline)、在线帮助文本(Helptext)区、编写和修改记录、函数体(Functionbody)。
4.简述绘制二维图形的一般步骤。
绘制二维图形的一般步骤为:
曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。
5.典型M函数文件的结构包括哪几个部分?
其中哪两部分是构成M函数文件所必不可少的?
包括:
函数申明行,H1行,在线帮助文本,编写和修改记录,和函数体。
其中只有函数申明行和函数体是比不可少的。
6.指令clear,clc,clf各有什么作用?
clear:
清除工作区间中的全部变量;(2分)
clc:
清除指令窗中的全部内容;(2分)
clf:
清除图形窗。
(2分)
7.数据可视化的一般步骤是什么?
其中哪几步是必不可少的?
答:
包括:
数据准备,选定图形窗及子图位置,调用绘图指令,设置轴的范围和坐标方格线,图形注释,着色、明暗、灯光、材质处理(三维图形)。
其中数据准备和调用绘图指令是必不可少的。
3.A=[1,2;3,4];B=[-1,-2;2,1];
A.*B
ans=
-1-4
64
A*B
ans=
30
5-2
4.clear;D=reshape(1:
9,3,3)
D=
147
258
369
X=diag(D)
X=
1
5
9
四:
分析综合
1.clear;A=ones(3,3);A(4,5)=5
A=
11100
11100
11100
00005
2.A=zeros(2,4);A(:
)=1:
8
A=
1357
2468
s=[235];Sa=[102030];
A(s)=Sa
A=
120307
10468
A(:
[23])=[]
A=
17
108
5.A=[1,2;3,4];B=[-1,-2;2,1];S=3;
S.*A
ans=
36
912
S*B
ans=
-3-6
63
A.*B
ans=
-1-4
64
A*B
ans=
30
5-2
五编程题目
1、已知函数
。
(1)绘制在区间[0,4π]上的曲线。
要求函数曲线用蓝色实线,包络用红色虚线,采样间隔为π/50。
(2)在原图上用黄色点划线叠绘
的图形
解:
(1)clear;
___t=0:
π/50:
4*π____;
y0=exp(-t/2);
y=_y0.*cos(4*t)___;
plot(t,y,'b-',t,[y0;-y0],'__r:
_')
(2)holdon;
y1=sin(9*t);
plot(t,y1,’y-.’)
holdoff
2、设
求定义域x=[-3,3],y=[-3,3]内的z值,并画出曲面图(网格取0.1见方)。
x=-3:
0.1:
3;
y=x;
_[X,Y]=meshgrid(x,y)__;
_Z=exp(-(X.^2+Y.^2))_;
3.请绘制出两条曲线y=sin(x)和y=cos(x),x在0到2π之间。
要求:
(1)加上网格线;
(2)X轴标注“IndependentVariableX”,Y轴标注“DepententVariableY1&Y2”;(3)标题为“SineandCosineCurve”;(4)在[1.5,0.3]处加标注“cos(x)”;(5)坐标轴控制:
X轴范围0到2π,Y轴范围-0.9到0.9。
X=0:
pi/10:
2*pi;
y1=sin(x);
y2=cos(x);
Plot(x,y1,x,y2);
girdon
xlable(‘IndependentVariableX’);
ylable(‘DependentVariableY);
title(‘SineandCosineCurve’);
text(1.5,0.3,‘cos(x)’);
axis([02*pi-0.90.9])
4.画出
所表示的三维曲面。
的取值范围是
x=-8:
0.5:
8;%定义自变量x的一维刻度向量
y=x;%定义自变量y的一维刻度向量
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2);%计算中间变量
Z=sin(R)./R;%计算相应的函数值
mesh(X,Y,Z);%或用surf(X,Y,Z);画图
5.设
(1)求定义域x=[-3,3],y=[-3,3]内的z值,并画出曲面图(网格取0.1见方)。
(2)画出z1=0.05x-0.05y+0.1的曲面图,叠加在上图中。
解:
(1)
clear;
x=-3:
0.1:
3;
y=x;
[X,Y]=meshgrid(x,y);;
Z=X.*exp(-(X.^2+Y.^2));surf(X,Y,Z)
(2)
holdon
Z1=0.05*X-0.05*Y+0.1;
surf(X,Y,Z1)
holdoff
6.绘制衰减振荡函数
在区间[0,4π]上的曲线及其包络。
要求函数曲线用蓝色实线,包络用红色虚线,采样间隔为π/50。
解:
clear;
t=0:
pi/50:
4*pi;
y0=exp(-t/2);
y=y0.*cos(4*t);
plot(t,y,'b-',t,[y0;-y0],'r:
')
grid
7.在同一图上分别用红色实线和蓝色虚线绘制y1=x.*sin(x)和y2=cos(x).*x在区间[0,4*pi]的曲线,采样点数为101,并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 系统 仿真 试题 复习资料 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)