长治学院MatLab期末考试考试题及练习题题库含答案.docx
- 文档编号:7551755
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:81
- 大小:744.59KB
长治学院MatLab期末考试考试题及练习题题库含答案.docx
《长治学院MatLab期末考试考试题及练习题题库含答案.docx》由会员分享,可在线阅读,更多相关《长治学院MatLab期末考试考试题及练习题题库含答案.docx(81页珍藏版)》请在冰豆网上搜索。
长治学院MatLab期末考试考试题及练习题题库含答案
一.填空题(每空2分,共24分)
1.设x是一维数组,x的倒数第3个元素表示为______x(_end-2_)________________;要在x的第36和37个元素之间插入一个元素154,使用的命令(集)为_____________x=x(_1:
36,[154],37:
end)_______________;设y为二维数组,要删除y的第34行和48列,可使用命令______y(34,:
)=[];y(:
48)=[]_______________________;
2.将变量x以Ascii文本格式存储到文件fname.txt,应使用命令__________save____x_____________;将Excel文件data.xls读入WorkSpace并赋值给变量x,可使用命令________________x=xlsread('data.xls')____________________________;
3.在while表达式,语句体,End循环语句中,表达式的值__非零_____________时表示循环条件为真,语句体将被执行,否则跳出该循环语句;
4.打开Matlab的一个程序文件fname.m,以添加的方式进行读写,应当使用命令_____fid=fopen('fname.m','w+');_______________________;
5.要从键盘读入一个字符串并赋值给变量x,且给出提示“Whoisshe?
”,应使用命令________x=input(‘Whoisshe?
’,’s’)_________________________________;使用fprintf()函数以含有2位小数的6位浮点格式输出数值变量weight到文件wt.txt,使用的命令(集)为fid=fopen(‘wt.txt’,’’,_________________);fprintf(_______);
4.设
和
均为
矩阵,且存在于WorkSpace中,要产生矩阵
,可用命令___D=(A-C)/B.^C_________________________,计算
可用命令___________det(inv(A’*B))_____________________________;
二.简答题(每小题8分,共24分)
1.
(1)写出关系运算符中的等号、不等号、小于号、大于号、小于等于号和大于等于号;
(2)写出逻辑操作中逻辑“与”、逻辑“或”及逻辑“非”的符号;
(3)并用语句表达“如果a等于b且c等于0就让d等于3,否则如果a大于b且c=1让d等于0,其余情况让d等于3”;
解:
==~=<><=>=
&|~
ifa==b&c==0
d=3
elseifa>b&c==1
d=0
else
d=3
end
2.设
和
是两个10行10列的矩阵(数组),试说明命令A*B,A/B,A\B,A.*(B.^A),A./B,A.\B和sin(A).*exp(B)的涵义。
解:
A,B的矩阵乘法,矩阵A乘以B的逆,矩阵B乘以A的逆,B的每个元素的对应A次幂乘以A对应的每个元素
A的每个元素除以B对应的每个元素,B的每个元素除以A对应的每个元素,
A的每个元素的正弦与B对应的每个元素的指数求积,
3.设A为
数组,B为一个行数大于3的数组,请给出
(1)删除A的第4、8、12三列的命令;
(2)删除B的倒数第3行的命令;
(3)求符号极限
的命令集;(4)求
的3阶导数的命令集;(5)计算定积分
的命令,并给出计算结果
解:
(1)A(:
[4812])=[]
(2)B(end-2)=[]
(3)symsmnx
limit(tan(m*x)/(n*x))
(4)symsxy
y=atan((x+3)/(x-2))-log(1+exp((-2)*x)
diff(y,3)
(5)symsx
int((abs(x)+sin(x))*x^2,-1,1)
-1/2
三.基本编程题(每小题10分,共30分)
1.Writeaprogramtocomputethefollowingexpressions
;
Here,wesupposethevariablexhasexistedintheworkspace.
解:
fori=1:
10
forj=1:
10
xbar(i)=xbar(i)+x(i,j);
end
xbar(i)=xbar(i)/10;
end
fori=1:
10
forj=1:
10
t1=0;t2=0;t3=0;
fork=1:
3
t1=t1+(x(i,k)-xbar(i))*(x(j,k)-xbar(j));
t2=t2+(x(i,k)-xbar(i))^2;
t3=t3+(x(j,k)-xbar(j))^2;
end
r2(i,j)=t1/sqrt(t2*t3);
end
end
r2
2.
(1)Usingplot()functiontoplotthecurvesof
and
intherangeof
lettheircolorareredandgreenrespectively,andaddthegridtothefigure.
(2)Usingfplot()functionandezplot()functiontoplotabove-mentioned(上述的)curvesrespectively.
解:
(1)x=-2*pi:
pi/100:
2*pi;
y=(sin(2*x)+cos(3*x)).*exp(-2*x);
z=sin(x)/x;
plot(x,y,’r’,x,z,’g’)
(2)fplot('[(sin(2*x)+cos(3*x)).*exp(-2*x),sin(x)/x]',[-2*pi2*pi])
3.Plotthe3Dmeshfigureand3Dsurfacefigureofthefunction
intherangeof
and
respectively.
解:
x=-4:
1/100:
4;
y=-4:
1/100:
4;
z=9(1-x)^2*exp(-x’^2/2-(y’+1)^2)
mesh(x,y,z);
surf(x,y,z);
四.综合编程题(每小题11分,共22分)
1.Writeafunctionprogramtocomputethefollowingfunction
andcallthisfunctionprogramtocomputethevalueof
inmainprogramorcommandwindow,there,
showsthefactorial(阶乘)of
.
提示:
对x取整的函数有fix(x),floor(x),round(x)和ceil(x).
fuctiony=f1(x)%f1.m
ifx-fix(x)==0
y=prod(1:
abs(2*x));
else
y=4*sin(2*x)+x^1.8;
y=f1(-4)+f1(3)-f1(14.37)
2.Writeaprogramtocomputethesamplemean
andthesampleskewness(偏度)
.
forthefollowingthreecase:
(1)nand
existinWorkspaceofMatlab.Itisnoanylimit;
(2)nand
areunknownvariables.Pleaseinputxbykeyboardonebyone,andgiveamarkofendthedatainput.Examineescanuseloopstatementandlength()functionandinput()function,butcannotusemean()function,std()function,andvar()functiondirectly(可以使用循环语句和length()函数、input()函数等进行编程,但不能直接使用mean()、std()和var()等函数).
(1)s=0;
fori=1:
n
s=s+x(i);
end
xbar=s/n
m=0;
fori=1:
n
m=m+(x(i)-xbar)^3;
end
ske=m/n
(2)x
(1)=input('请输入x');
i=1;s=0;
while(x(i)~='a')
s=s+x(i);
i=i+1;
x(i)=input('请输入x,输’a’结束');
end
xbar=s/(i-1)
m=0;
forj=1:
i-1
m=m+(x(i)-xbar)^3;
end
ske=m/(i-1)
练习题
一、填空题
1、MATLAB常用操作界面包括命令窗口、工作空间窗口、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出变量数目。
3、工作空间浏览器主要用于内存变量的查阅、保持和编辑。
4、MATLAB实现将全下标转换为单下标的指令为sub2ind、据单下标换算出全下标的指令为ind2sub。
5、MATLAB中clf用于清除图形窗口、clc用于清除指令窗口中显示内容、clear用于清除MATLAB工作空间中保存的变量。
二、简答题(每题5分,共20分)
1、简述MATLAB历史指令窗的主要作用。
答:
历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。
历史记录包括:
每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。
应用功能有单行或多行指令的复制和运行、生成M文件等。
2、简述MATLAB函数的基本结构。
答:
典型M函数文件的结构:
函数申明行、H1行、在线帮助文本区、编写和修改记录、函数体。
3、简述绘制二维图形的一般步骤。
绘制二维图形的一般步骤为:
曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。
三、阅读程序并回答问题(每题4分,共28分)
1、写出下列指令运行结果。
A=zeros(2,4);
A(:
)=1:
8;
s=[235];
A(s)
Sa=[102030]'
A(s)=Sa
ans=
235
Sa=
10
20
30
A=
120307
10468
2、写出下列指令运行结果。
A=reshape(1:
16,2,8)
reshape(A,4,4)
s=[13689111416];
A(s)=0
A=
13579111315246810121416
ans=
15913
261014
371115
481216
A=
0057001315
2400101200
3、写出下列指令运行结果。
A=[1,2;3,4];
B=[-1,-2;2,1];
S=3;
A.*B
ans=
-1-4
64
A*B
ans=
30
5-2
S.*A
ans=
36
912
S*B
ans=
-3-6
63
4、下面的函数主要完成什么功能?
functionf=factor(n)
ifn<=1
f=1;
else
f=factor(n-1)*n;
end
利用函数的递归调用求n!
5、写出下列指令运行结果。
ch=‘ABc123d4e56Fg9’;
subch=ch(1:
5)
revch=ch(end:
-1:
1)
k=find(ch>=‘a’&ch<=‘z’);
ch(k)=ch(k)-(‘a’-‘A’);
char(ch)
subch=
ABc12
revch=
9gF65e4d321cBA
ans=
ABC123D4E56FG9
ans=
4
6、写出下列指令运行结果。
A(1,1)={'thisiscell'};
A{1,2}={[123;456]};
A{2,1}=[1+2*i];
A{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2));
celldisp(A)
A{1,1}=
thisiscell
A{2,1}=
1.0000+2.0000i
A{1,2}{1}=
123
456
A{2,2}=
789
101112
7、下面的程序完成功能是什么?
t=0:
pi/50:
4*pi;
y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,'-r',t,y0,':
b',t,-y0,':
b')
xlabel(‘\bf\itt’);
ylabel(‘\bf\ity’);
gridon;
绘制图形如下:
四、编程题(32分)
1、用命令来创建GUI并绘制方程y=ax2+bx+c图形,需要显示绘图结果的坐标系窗口,还能输入a、b、c的值和x的取值范围,同时用命令设置所以对象的属性。
2、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。
(5分)
x=0:
0.01:
4*pi;
y1=sin(x);
y2=cos(x);
z=find(abs(y1-y2)<0.007);
plot(x,y1,'r.-','Linewidth',2,'Markersize',1);
axis([-1.5,15,-1.5,1.5]);
holdon
plot(x,y2,'g.:
','Linewidth',2,'Markersize',1);
n=size(z);
plot(x(z),y1(z),'k*','Markersize',15);
3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200没有折扣
200≤price<5003%折扣
500≤price<10005%折扣
1000≤price<25008%折扣
2500≤price<500010%折扣
5000≤price14%折扣
输入所售商品的价格,求其实际销售价格。
(5分)
price=input('pleaseinputyourprice:
');
a=0;
ifprice<200
a=1;
elseifprice<500
a=2;
elseifprice<1000
a=3;
elseifprice<2500
a=4;
elseifprice<5000
a=5;
elsea=6;
end
switcha
case0
disp('0inputsgiven');
case1
b=price;
case2
b=0.97*price;
case3
b=0.95*price;
case4
b=0.92*price;
case5
b=0.90*price;
case6
b=0.86*price;
otherwise
disp('unexpectedinput!
');
end
fprintf('theactaulpriceis%f',b);
4、二阶微分方程x"+0.2x'+0.4x=0.2u(t),其中u(t)是单位阶跃函数,试建立系统模型并仿真。
1.请编写一个M-函数,用来实现级数和
并利用该M-函数计算n=学号末2位数+5,x=n/60时S的值。
1.
functions=zh(x,n)
ifnargin>2,error('wrong');end
ifnargout>1,error('wrong');end
ss=1;
fort=1:
n,ss=ss+(x^t)./(2*t-1);
s=ss;end
>>zh(35/60,35)
ans=
1.7677
2.已知系统的框图如下图所示,请推导出从输入信号r(t)到输出信号y(t)的总系统模型。
2.
symsG1G2G3G4G5G6G7H1H2H3H4
c1=feedback(G4,H4);
c2=feedback(G3*G2,H2);
c3=feedback(G5*c1,H3);
G=feedback((G6+G7)*c3*c2*G1,H1)
3.已知单位负反馈控制系统的被控对象及控制器的传递函数分别为
,
试判断系统的稳定性,并用时域响应检验得出的结论。
>>s=tf('s')
Transferfunction:
s
>>Gs=16*(1+s/2.5)/[s*(1+s/0.5)*(1+s/20)]
Transferfunction:
6.4s+16
----------------------
0.1s^3+2.05s^2+s
>>Gc=20*(s+1)*(s+2)/[(s+1.5)*(s+23)]
Transferfunction:
20s^2+60s+40
-------------------
s^2+24.5s+34.5
>>GG=feedback(Gs*Gc,1)
Transferfunction:
128s^3+704s^2+1216s+640
--------------------------------------------------------
0.1s^5+4.5s^4+182.7s^3+799.2s^2+1251s+640
>>eig(GG)
ans=
-20.1421+34.9785i
-20.1421-34.9785i
-1.8264+0.5997i
-1.8264-0.5997i
-1.0630
根都有负实部则系统稳定
>>step(GG,1)
4.考虑简单的线性微分方程
,
且方程的初值为y(0)=1,y’(0)=y”(0)=1/2,y(3)(0)=0.6,,请用Simulink搭建起系统的仿真模型,并绘制出仿真结果曲线。
第1章MATLAB概论
1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么?
MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。
1.2MATLAB系统由那些部分组成?
MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
1.3安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?
在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。
第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
1.4MATLAB操作桌面有几个窗口?
如何使某个窗口脱离桌面成为独立窗口?
又如何将脱离出去的窗口重新放置到桌面上?
在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock……菜单项就可以将独立的窗口重新防止的桌面上。
1.5如何启动M文件编辑/调试器?
在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。
在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。
1.6存储在工作空间中的数组能编辑吗?
如何操作?
存储在工作空间的数组可以通过数组编辑器进行编辑:
在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
1.7命令历史窗口除了可以观察前面键入的命令外,还有什么用途?
命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
1.8如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?
当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的SetPath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
1.9在MATLAB中有几种获得帮助的途径?
在MATLAB中有多种获得帮助的途径:
(1)帮助浏览器:
选择view菜单中的Help菜单项或选择Help菜单中的MATLABHelp菜单项可以打开帮助浏览器;
(2)help命令:
在命令窗口键入“help”命令可以列出帮助主题,键入“help函数名”可以得到指定函数的在线帮助信息;
(3)lookfor命令:
在命令窗口键入“lookfor关键词”可以搜索出一系列与给定关键词相关的命令和函数
(4)模糊查询:
输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。
注意:
lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。
第2章MATLAB矩阵运算基础
2.1在MATLAB中如何建立矩阵
,并将其赋予变量a?
>>a=[573;491]
2.2有几种建立矩阵的方法?
各有什么优点?
可以用四种方法建立矩阵:
①直接输入法,如a=[2573],优点是输入方法方便简捷;
②通过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 长治 学院 MatLab 期末考试 考试题 练习题 题库 答案