Matlab-期末考试题库共12套卷_第1页
Matlab-期末考试题库共12套卷_第2页
Matlab-期末考试题库共12套卷_第3页
Matlab-期末考试题库共12套卷_第4页
Matlab-期末考试题库共12套卷_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z.第一套华东交通大学2015-2016学年第一学期Matlab期末考试一、填空题〔4*6=24分〕1、在MATLAB命令窗口中的“>>〞标志为MATLAB的命令行提示符,“│〞标志为输入提示符。2、符号表达式sin(2*a+t)+m

中独立的符号变量为_t_。3、在通常情况下,左除*=a\b是的解,右除*=b/a是的解,一般情况下,。4、为了使两个plot的图形在同一个坐标显示,可以使用___holdon__命令进展图形保持;可以使用_gridon__命令为图形添加网格。5、倘假设要是对*进展赋值,从5到25,间隔是0.1,为*=5:0.1:25;倘假设要是对*进展赋值,从2到20,中间间隔100个点,为*=linspace(2,20,100)6、A=[1,2;3,4];B=[1,0;0,1];

A*B=[1

2;3

4]_,

A.*B=_[1

0;04]_;3.a**=b,**a=b,a\b,b/a;二、选择题〔4*6=24分〕7、如果*=1:

2

:

8,则*(1)和*(4)分别是(B)

A.1,8

B.1,

7

C.2,

8

D.2,

78、运行如下程序后,输入9回车,命令窗口〔mand

windows〕显示的结果为(A)

c=input('请输入一个字符','s');

if

c>='A'

&

c<='Z'

disp(setstr(abs(c)+abs('a')-abs('A')));

elseif

c>='a'&

c<='z'

disp(setstr(abs(c)-

abs('a')+abs('A')));

elseif

c>='0'&

c<='9'

disp(abs(c)-abs('0'));

else

disp(c);

end

A.

9

B.

8

C.

7

D.

69、MATLAB表达式2*2^3^2的结果是(A)

A.128B.4096C.

262144D.25610、在循环构造中跳出循环,执行循环后面代码的命令为(B)

(A)

return

(B)

break

(C)

continue

(D)

keyboard

11、在图形指定位置加标注命令是〔C〕A.

title(*,y,‟y=sin(*)‟);B.*label(*,y,‟y=sin(*)‟);C.

te*t(*,y,‟y=sin(*)‟);

D.legend(*,y,‟y=sin(*)‟);12、以下哪个变量的定义是不合法的〔A〕。(A)

abcd-3

(B)

*yz_3

(C)

abcdef

(D)

*3yz三、程序题〔52分〕13〔10分〕、在同一窗口绘制6个子图,t=0.1:0.1:2*pi,每个子图分别绘制〔其中y1=sin(t),y2=cos(2t),y3=sin(t)+cos(t),y4=3t,y5=2ln(t),y6=et〕;答案13.t=0.1:0.1:2*pi;subplot(2,3,1)

y1=sin(t);plot(t,y1)

title('y1=sin(t)')

subplot(2,3,2)

y2=cos(2*t);plot(t,y2)

title('y2=cos(2t)')

subplot(2,3,3)

y3=sin(t)+cos(t);plot(t,y3)

title('y3=sin(t)+cos(t)')

subplot(2,3,4)

y4=3*t;plot(t,y4)

title('y4=3t')

subplot(2,3,5)

y5=2*log(t);plot(t,y5)

title('y5=2ln(t)')

subplot(2,3,6)

y6=e*p(t);plot(t,y6)

title('y6=e^t')14〔10分〕、*商场对顾客所购置的商品实行打折销售,标准如下(商品价格用price来表示):price<200没有折扣200≤price<5003%折扣500≤price<10005%折扣1000≤price<25008%折扣2500≤price<500010%折扣5000≤price14%折扣输入所售商品的价格,求其实际销售价格。答案14.price=input('请输入商品价格');switchfi*(price/100)case{0,1}%价格小于200rate=0;case{2,3,4}%价格大于等于200但小于500rate=3/100;casenum2cell(5:9)%价格大于等于500但小于1000rate=5/100;casenum2cell(10:24)%价格大于等于1000但小于2500rate=8/100;casenum2cell(25:49)%价格大于等于2500但小于5000rate=10/100;otherwise%价格大于等于5000rate=14/100;endprice=price*(1-rate)%输出商品实际销售价格15〔10分〕、在同一图形窗口中按照*=0.1的步长间隔分别绘制曲线y1=,0*;y1=sin(*)+cos(*),1≤*≤2。要求y1曲线为红色虚线,数据点用圆圈标识;y2曲线为蓝色点划线;给出图例;标记图名为y1,y2。答案15.*1=0:0.1:1;

y1=*1.^2.*e*p(-*1);*2=1:0.1:2;

y2=sin(*2)+cos(*2);plot(*1,y1,'r--o',*2,y2,'b-.')legend('y1','y2')title('y1,y2')

16〔10分〕、写出执行以下代码后C,D,E的值A=[1,2,3;4:6;7:9];

C=[A;[10,11,12]],

D=C(1:3,[2

3])

E=C(2,[1

2])

16.C

=

1

2

3

4

5

67

8

9

10

11

12

D

=

2

3

5

6

8

9

E

=

4

517〔12分〕、系统函数为试画出零极点分布图,并求系统的冲激响应h(t)和频率响应H(jw),并判断系统是否稳定。17.系统函数H〔s〕,求系统的冲激响应h(t)和频率响应H(jw),可调用impulse函数和freqs函数。num=[1];den=[1221];sys=tf(num,den);poles=roots(den)figure(1);pzmap(sys);t=0:0.02:10;h=impulse(num,den,t);figure(2);plot(t,h)title('ImpulseRespone')[H,w]=freqs(num,den);figure(3);plot(w,abs(H))*label('\omega')title('MagnitudeRespone')第二套Matlab模拟试卷填空题〔每空2分,总分20〕。1.MATLAB常用操作界面包括命令窗口、工作空间窗口〔浏览器〕、命令历史窗口、当前目录窗口、存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。2.MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。3.工作空间浏览器主要用于存变量的查阅、保存和编辑。4.MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全下标的指令为Ind2sub。5.二维数组的标识有"°全下标"±标识、"°单下标"±标识、"°逻辑1〞标识。二、选择题〔每空2分,总共20分〕1.以下哪个变量的定义是不合法的〔A〕(A)abcd-3(B)*yz_3(C)abcdef(D)*3yz2.以下哪条指令是求矩阵的行列式的值〔C〕(A)inv(B)diag(C)det(D)eig3.在循环构造中跳出循环,执行循环后面代码的命令为〔B〕(A)return(B)break(C)continue(D)keyboard4.清空Matlab工作空间所有变量的指令是〔C〕(A)clc(B)cls(C)clear(D)clf5.用round函数四舍五入对数组[2.486.393.938.52]取整,结果为〔C〕(A)[2638](B)[2648](C)[2649](D)[3749]6.a=2:2:8,b=2:5,下面的运算表达式中,出错的为〔C〕(A)a'*b(B)a.*b(C)a*b(D)a-b7.角度,计算其正弦函数的运算为〔D〕(A)SIN〔deg2rad(*)〕(B)SIN(*)(C)sin(*)(D)sin(deg2rad(*))8.下面的程序执行后array的值为(A)fork=1:10ifk>6break;elsearray(k)=k;endend(A)array=[1,2,3,4,5,6](B)array=[1,2,3,4,5,6,7,8,9,10](C)array=6(D)array=10.9.i=2;a=2i;b=2*i;c=2*sqrt(-1);程序执行后;a,b,c的值分别是多少?(A)a=4,b=4,c=2.0000i(C)(B)a=4,b=2.0000i,c=2.0000i(C)a=2.0000i,b=4,c=2.0000i(D)a=2.0000i,b=2.0000i,c=2.0000i10.求解方程*4-4*3+12*-9=0的所有解〔A〕(A)1.0000,3.0000,1.7321,-1.7321(B)1.0000,3.0000,1.7321i,-1.7321i(C)1.0000i,3.0000i,1.7321,-1.7321(D)-3.0000i,3.0000i,1.7321,-1.7321三、阅读程序并答复以下问题〔每题5分,共20分〕1、写出以下指令运行结果。A=zeros(2,4);A(:)=1:8;s=[235];A(s)Sa=[102030]'A(s)=Saans=235Sa=102030A=12030710468写出以下指令运行结果。A=reshape(1:16,2,8)reshape(A,4,4)s=;A(s)=0答案:A=reshape(1:16,2,8)A=13579111315246810121416reshape(A,4,4)ans=15913261014371115481216s=;A(s)=0A=005700131524001012003、写出以下指令运行结果。A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B答案:ans=-1-464ans=305-2ans=36912ans=-3-6634、下面的函数主要完成什么功能?functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;End答:利用函数的递归调用,求n!。四、程序填空(每空3分,共15分)编写MATLAB程序,在同一图形窗口中绘制y1和y2两条曲线,并对图形坐标轴进展控制。程序如下:*=-3:0.1:3;y1=2**+5;y2=*.^2-3**;plot(*,y1);%绘制曲线y1①;%保持曲线y1①holdonplot(*,y2);%绘制曲线y2m1=ma*([y1,y2]);m2=min([y1,y2]);②;%用a*is调制坐标轴,横坐标在[-33]之间,且完全显示图形③;%参加图形注释,横坐标为“时间〞,纵坐标为“幅度〞编写MATLAB程序,对于用户输入的向量或矩阵,计算其平均值和方差:④;%提示输入数据并保存到*中,命令行显示“请输入数据〞y=reshape(*,1,prod(size(*)));m=mean(y);%计算均值m⑤;%计算方差v①holdon②a*is([-33m2m1])③*label(‘时间’);ylabel(‘幅度’);④*=input(‘请输入数据\n’)或*=input(‘请输入数据’)⑤v=var(y)或1/(length(y)-1)*(sum((y-m).^2))五、编程题〔40分〕分别在同一图形窗的不同子图绘制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。〔5分〕t=(0:pi/100:pi)';y1=sin(t)*[1,-1];y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);subplot(1,2,1)plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')subplot(1,2,2)plot(t,y2,'b')a*is([0,pi,-1,1])编写程序实现f(n)=f(n-1)+f(n-2)〔f(1)=1和f(2)=2〕函数。〔5分〕functionf=fab(n)if(n==1)f=1;elseif(n==2)f=2;elsef=fab(n-1)+fab(n-2);End3、求解以下线性方程组,要求写出程序代码和运行结果〔5分〕2*1-3*2+*3+2*4=8*1+3*2+*4=6*1-*2+*3+8*4=17*1+*2-2*3+2*4=5>>symsabc*>>syms*1*2*3*4>>clear>>syms*1*2*3*4>>f=2**1+3**2+*3+2**4-8;>>g=*1+3**2+*4-6;>>h=*1-*2+*3+8**4-1;>>i=7**1+*2-2**3+2**4-5;>>[*1,*2,*3,*4]=solve(f,g,h,i)*1=13/17*2=320/187*3=212/187*4=19/1874、打印出所有的水仙花数。所谓“水仙花数〞,是指一个三位数,其各位数字立方之和等于该数本身。〔10分〕fork=100:999a=fi*(k/100);b=rem(fi*(k/10),10);c=rem(k,10);ifa.^3+b.^3+c.^3==kfprintf(“%u,\t\t〞,k)

;endend第三套MATLAB试卷一、填空题〔每题2分,共10题,共20分,错一个得1分,错2个得0分〕MATLAB命令窗口中可用命令去除工作区中的变量;用命令去除命令窗口中的容。MATLAB中的运算包括、、。MATLAB中的M文件有、。MATLAB中的程序控制构造包括、、。矩阵A[123;456;789],A(6)A〔1,3〕。MATLAB中用函数完成矩阵的求逆运算,用函数求矩阵的行列式。在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用函数。MATLAB提供了函数和函数来绘制三维曲面图。用if语句判断60≤*≤80,在MATLAB中if语言后面的判断应写为。为了使两个plot的图形在同一坐标显示,可以使用命令进展图形保持,可以使用命令为图形添加网格。选择题〔每题2分,共10题,共20分〕1.以下哪个变量的定义是不合法的(A)abcd-3(B)*yz_3(C)abcdef(D)*3yz2.在循环构造中跳出循环,执行循环后面代码的命令为(A)return(B)break(C)continue(D)keyboard3、以下变量名中是合法的。(A)char_1;(B)**y;(C)*\y;(D)end4.如果*=1:-1:-8,则*(1)和*(5)分别是A.-1,-3B.-1,-7C.-1,-6D.1,-35.在MATLAB中以下数值的表示不正确的选项是A.+25B.1.3e-5C.4-3*e^2D.3-2*pi6.用round函数四舍五入对数组[2.486.393.938.52]取整,结果为(A)[2638](B)[2648](C)[2649](D)[3749]

7.以下哪条指令是求矩阵的行列式的值(A)inv(B)diag(C)det(D)eig8.在图形指定位置加标注命令是A.title(*,y,’y=sin(*)’);B.*label(*,y,’y=sin(*)’);C.te*t(*,y,’y=sin(*)’);D.legend(*,y,’y=sin(*)’);9.i=2;a=2i;b=2*i;c=2*sqrt(-1);程序执行后;a,b,c的值分别(A)a=4,b=4,c=2.0000i(B)a=4,b=2.0000i,c=2.0000i(C)a=2.0000i,b=4,c=2.0000i(D)a=2.0000i,b=2.0000i,c=2.0000i10、在循环构造中跳出循环,但继续下次循环的命令为(A)return;(B)break;(C)continue;(D)keyboard三、简答题〔每题7.5分,共4题,共30分〕1.A=[12;34];B=[12;14];写出下面几条指令的运行结果:C=A*BD=A+BE=A.*B在MATLAB窗口中,用哪两种方法启动Simulink?3.判断以下一段程序的错误,并进展改正。*=-2:0.2:2;y=*.^2;plot(*,y)str1=num2str(min(*));%数字转化为字符串str2=num2str(ma*(*));%数字转化为字符串out=[Valueofffrom'str1'to'str2'];*label(out);一个3位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出100-999之间的全部水仙花数。请补全程序中所空缺的局部。Form=100:999m1=fi*(m/100);m2=rem(fi*(m/10),10);m3=rem(m,10);Ifm==()disp(m)endend编程题〔每题15分,共2题,共30分〕1.编写MATALAB程序,完成以下任务〔将程序保存为test04.m文件〕:〔1〕在区间[0,4*pi]上均匀地取20个点构成向量;〔2〕分别计算函数y1=sin(t)与y2=2cos(2t)在向量t处的函数值;〔3〕在同一图形窗口绘制曲线y1=sin(t)与y2=2cos(2t),要求y1曲线为黑色点画线,y2曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1andy2〞。2、Fibonacci数列的各元素为:1、1、2、3、5、8、……,满足以下关系F1=1,F2=1,Fn=Fn-1+Fn-2用while和for两种方法实现。答案填空题1clearclc2算术运算关系运算逻辑运算3命令文件函数文件4顺序构造循环构造选择构造5.83InvdetplotyymeshsurfIf*<=80&>=60holdongridon选择题1-5ABADB6-10CCCCC简答题C=310D=24E在MATLAB命令窗口中输入“simulink〞再回车,或者单击工具栏中的SIMULINK图标3.out=['Valueofffrom'str1'to'str2];或out=['Valueofffromstr1tostr2’];4.m1*m1*m1+m2*m2*m2+m3*m3*m3编程题1.程序如下:〔1〕t=linspace(0,4*pi,20);〔2〕y1=sin(t);y2=2*cos(2*t);〔3〕plot(t,y1,'k-.');te*t(1.2,sin(1.2),'y1\leftarrow','FontSize',12);holdon;plot(t,y2,'r--o');te*t(6,1.5,'y2\leftarrow','FontSize',12);title('y1andy2')2.按M函数文件格式创立文件开头functionf=cheng*u〔n)用while循环实现程序功能f(1)=1;f(2)=1;i=2;whilei<=nf(i+1)=f(i-1)+f(i);i=i+1;end用for循环实现f(1)=1;f(2)=1;fori=2:nf(i+1)=f(i-1)+f(i);end第四套MATLAB期末考试一、填空题〔每题2分,共10〕1:MATLAB的通用命令中假设对函数功能和用法不熟悉,可用help命令;显示变量、阵列或文本时,可用disp命令;去除工作空间中的变量时,可用clear命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用save和load命令。2:在MATLAB图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用gridon命令,如果需要在指定的坐标位置标注文本时使用的函数为te*t。3:MATLAB中用于控制不定次重复循环语句为while,假设在循环执行过程中需要终止该循环时采用的语句为break。4:用if判断语句判断80≥*>60,在MATLAB中if语言后的判断应写为if*<=80&*>60。5:为了使两个plot的图形在同一个坐标显示,可以使用holdon命令进展图形保持;选择题〔每题2分,共20〕1.以下哪个变量的定义是不合法的C(A)abcdef(B)*yz_3(C)abcd-3(D)*3yz2:a=2:2:8,b=2:5,下面的运算表达式中,出错的为C(A)a'*b(B)a.*b(C)a*b(D)a-b3:下面的程序执行后array的值为(D)fork=1:10ifk>6break;elsearray(k)=k;endend(A)array=10.(B)array=[1,2,3,4,5,6,7,8,9,10](C)array=6(D)array=[1,2,3,4,5,6]4:设A=[243;531;367],则sum(A),length(A)和size(A)的结果(A)A.[101311]3[33]B.[9916]3[33]C.[9916]9[33]D.[101311]9[33]5:以下关于脚本文件和函数文件的描述中不正确的选项是(B)A.去掉函数文件第一行的定义行可转变成脚本文件;B.函数文件可以在命令窗口直接运行;C.脚本文件可以调用函数文件;D.函数文件中的第一行必须以function开场;6:.i=2;a=2i;b=2*i;c=2*sqrt(-1);程序执行后;a,b,c的值分别是多少?(C)a=4,b=4,c=2.0000i(B)a=4,b=2.0000i,c=2.0000i(C)a=2.0000i,b=4,c=2.0000i(D)a=2.0000i,b=2.0000i,c=2.0000i7:以下哪条语句是正确的(

C

)

A=[1

2;3

4];B=[3;7];

A.*B;(B)

A=cell(2,3);

A(1,2)=[4;5]

(C)

A=[2

3

5

7;9

4

6

1;7

3

2

5];B=[1

7;0

5];A(2:end,2:2:end)

(D)

*=-5:5;y=-5:5;z=*.**-y.*y;surf(*,y,z)

8:三、程序执行题〔共30分〕1:写出执行以下代码后,MATLAB命令窗口上显示的*矩阵的值(6分)*=[0,1,0,2,0,3,0,4];fork=1:8if*(k)==0*(k)=k;else*(k)=2*k+1;endenddisp(*);答案为解以下线性方程组,请写出MALAB语言程序。〔8分〕4*1+2*3+3*4=93*2+2*3+3*4=82*1+*4=10*3-2*2+3*4=7答案:A=[4023;0323;2001;0-213;];%3分b=[98107]';%2分*=A\b;或*=inv(A)*b;%3分3:下面的函数主要完成什么功能?〔8分〕functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;end答案:利用函数的递归调用,求n!。4:下面的程序完成功能是什么?〔8分〕t=0:pi/50:3*pi;y0=e*p(-t/2);y=e*p(-t/3).*sin(2*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')*label(‘\bf\itt’);ylabel(‘\bf\ity’);答案:在同一个图中绘制两个函数,这两个函数分别是:y=e(-t/3)y0=e(-t/3)*sin(3t)四、编程题〔每题10分,共20〕1:求解以下线性方程组,要求写出程序代码和运行结果〔10分〕答案:>>symsabc*>>syms*1*2*3*4>>clear>>syms*1*2*3*4>>f=2**1+3**2+*3+2**4-8;>>g=*1+3**2+*4-6;>>h=*1-*2+*3+8**4-1;>>i=7**1+*2-2**3+2**4-5;>>[*1,*2,*3,*4]=solve(f,g,h,i)2:设*=sint,

y=sin(nt+a),假设a=1,令n

=1,2,3,4,在四个子图中分别画出其曲线。假设n=2,取a=0,π/3,π/2,及π,在四个子图中分别画出其曲线。matlab源程序如下;t=-pi:0.1:pi;

%t的取值围a=1;n=1;%a=1,n=1

*=sin(t);%*的表达y=sin(n*t+a);

%y的表达式subplot(221),plot(*,y)%在子图第一,画出图像hold

on保持figure不关闭t=-pi:0.1:pi;

%t的取值围a=1;n=2;

%a=1,n=2

*=sin(t);%*的表达式y=sin(n*t+a);

%y的表达式subplot(222),plot(*,y)

%在子图的第二画出图像hold

on

%保持figure不关闭t=-pi:0.1:pi;

%t的取值围a=1;n=3;

%a=1,n=3

*=sin(t);

%*的表达式y=sin(n*t+a);

%y的表达式subplot(223),plot(*,y);%在子图的第三,画出图像hold

on

%保持figure不关闭t=-pi:0.1:pi;

%t的取值围a=1;n=4;

%a=1,n=4

*=sin(t);

%*的表达式y=sin(n*t+a);

%y的表达式subplot(224),plot(*,y)

%在子图的第四上五、程序填空和改错(每空5分,共20)1:抛物线的方程为,输入c后,绘制该曲线,寻找曲线的最小值和对应的*值。小明编写程序如下:clc;clear;closeall;c=input('c=');a=1;*=-2:0.1:2;*num=length(*)or*num=size(*,2);%(1)对变量*num赋为数组*的个数y=zeros(1,*num);y=a**^2+c**;→y=a**.^2+c**;%(2)按照函数形式对y赋值figure;plot(*,y)%(3)绘制曲线*label('*');ylabel('y');[ymin,Imin]=min(y);*min=*(ymin);→*min=*(Imin);%(4)找到最小函数值对应的*值第五套matlab期末考试试卷考试时间:120分钟考试分数:100分一、填空题〔每空1分,20分〕1、MATLAB常用操作界面包括、工作空间窗口、、、存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。4、工作空间浏览器主要用于存变量的、和。5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。6、二维数组的标识有、、“逻辑1〞标识。7、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中的容用。8、MATLAB中clf用于去除、clc用于去除、clear用于去除MATLAB。选择题〔每题2分,20分〕1.在matlab中_______用于括住字符串。A.,B.;C.‘’D.“〞2.以下___D____是合法变量。A.1_1B.a/bC.变量1D.Eps3.产生所有元素均为1的2行3列矩阵的命令是______。A.ones(2,3)B.ones(3,2)C.eye(2,3)D.eye(3,2)4.以下哪个变量的定义是不合法的A.abcd-3B.*yz_3C.abcdefD.*3yz5.数组a=,假设要产生a的一个子矩阵,则下列命令中错误的选项是_____________。a([12],[34])B.a(1:2,3:end)C.a(linspace(1,2,2),3:4)D.a(:,:)6.下面的程序执行后array的值为_____________。fork=1:10ifk>6break;elsearray(k)=k;endendA.array=[1,2,3,4,5,6]B).array=[1,2,3,4,5,6,7,8,9,10]C.array=6D.array=10.7.在循环构造中跳出循环,但继续下次循环的命令为_________。A.return;B.break;C.continue;D.keyboad8.图形窗口〔Figure〕显示网格的命令是_____________。A.a*isonB.gridonC.bo*onD.holdon9.a=2:2:8,b=2:5,下面的运算表达式中,出错的为____。A.a'*bB.a.*bC.a*bD.a-b10.运行如下程序后,命令窗口〔mandwindows〕显示的结果为__。A=[13,-56,78;25,63,-735;78,25,563;1,0,-1];y=ma*(ma*(A))A.y=564B.y=9C.y=-735D.y=563三、阅读程序并答复以下问题〔每题4分,共28分〕1、写出以下指令运行结果。A=[1,2,3;4:6;7:9];C=[A;[10,11,12]],D=C(1:3,[23])E=C(2,[12])2、写出以下指令运行结果。A=reshape(1:16,2,8)reshape(A,4,4)s=;A(s)=03、写出以下指令运行结果。A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什么功能?functionf=factor(n)ifn<=1f=1;elsef=factor(n-1)*n;end5、写出以下指令运行结果。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)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)7、下面的程序完成功能是什么?t=0:pi/50:4*pi;y0=e*p(-t/3);y=e*p(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')*label(‘\bf\itt’);ylabel(‘\bf\ity’);gridon;四、编程题〔32分〕1、在同一图上分别用红色实线和绿色虚线绘制y1=sin(*)和y2=cos(*)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。〔6分〕2、求解以下线性方程组,要求写出程序代码。〔6分〕2*1-3*2+*3+2*4=8*1+3*2+*4=6*1-*2+*3+8*4=17*1+*2-2*3+2*4=53、*商场对顾客所购置的商品实行打折销售,标准如下(商品价格用price来表示):price<200没有折扣200≤price<5003%折扣500≤price<10005%折扣1000≤price<25008%折扣2500≤price<500010%折扣5000≤price14%折扣输入所售商品的价格,求其实际销售价格。〔8分〕4、编写程序实现f(n)=f(n-1)+f(n-2)〔f(1)=1和f(2)=2〕函数。〔6分〕5、编写M函数文件,利用for循环或while循环完成计算函数y=sum(n)=QUOTE的任务,并利用该函数计算n=20时的和〔将总程序保存为??.m文件〕。〔6分〕-.z.参考答案填空题1、命令窗口命令历史窗口当前目录窗口。2、无穷大不是一个数函数输出宗量数目。3、显示计算结果的指令与其后指令的分隔用作数组元素分隔符号。4、查阅保存编辑。5、Sub2indInd2sub。6、“全下标〞标识“单下标〞标识。7、A(2,3)A{2,3}。8、去除图形窗去除指令窗中显示容去除MATLAB工作空间中保存的变量。二、选择题〔每题2分,共20分〕1、C2、D3、A4、A5、D6、A7、C8、B9、C10、D三、阅读程序并答复以下问题〔每题4分,共28分〕1、C=123456789101112D=235689E=452、A=13579111315246810121416ans=15913261014371115481216A=005700131524001012003、ans=-1-464ans=305-2ans=36912ans=-3-6634、利用函数的递归调用,求n!。5、subch=ABc12revch=9gF65e4d321cBAans=ABC123D4E56FG96、A{1,1}=thisiscellA{2,1}=1.0000+2.0000iA{1,2}{1}=123456A{2,2}=7891011127、在同一个图中绘制两个函数,这两个函数分别是:y=e(-t/3)y0=e(-t/3)*sin(3t)其中y是用红色的细实线,而y0是用兰色的虚线绘制,t的区间是(0:4),t的步长为/50,t轴和y轴分别用斜粗题指示,图中有网格表示。四、编程题1、答案clf*=0:pi/200:2*pi;y1=sin(*);y2=cos(*);zz=*(find(abs(y1-y2)<0.005))z=min(zz)plot(*,y1,'r-',*,y2,'g-.')holdonplot(zz,sin(zz),'*')legend('sin','cos')2、答案t=(0:pi/100:pi)';y1=sin(t)*[1,-1];y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);subplot(1,2,1)plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')subplot(1,2,2)plot(t,y2,'b')a*is([0,pi,-1,1])3、答案price=input('请输入商品价格');switchfi*(price/100)case{0,1}%价格小于200rate=0;case{2,3,4}%价格大于等于200但小于500rate=3/100;casenum2cell(5:9)%价格大于等于500但小于1000rate=5/100;casenum2cell(10:24)%价格大于等于1000但小于2500rate=8/100;casenum2cell(25:49)%价格大于等于2500但小于5000rate=10/100;otherwise%价格大于等于5000rate=14/100;endprice=price*(1-rate)%输出商品实际销售价格答案functionf=fab(n)if(n==1)f=1;elseif(n==2)f=2;elsef=fab(n-1)+fab(n-2);end5、functionsum=te*t4(n);sum=0;m=1;whilem<=n;sum=sum+m^mm=m+1;end当n=20时用上述程序求得的和为:1.0688e+026第六套一、选择题〔2×10〕1.变量名是以____开头,后接字母、数字或下划线的字符序列,最多63个字符。变量名区分大小写。AA.字母B.数字C.下划线D.大写字母2.冒号表达式的一般格式为:BA.初始值:终止值:步长B.初始值:步长:终止值C.初始值:终止值:元素总数D.初始值:元素总数:终止值3.linspace函数调用的格式为:CA.linspace(初始值:终止值:步长)B.linspace(初始值:步长:终止值)C.linspace(初始值:终止值:元素总数)D.linespace(初始值:元素总数:终止值)4.A\B等效于:AA.inv(A)*BB.inv(B)*AC.A*inv(B)D.B*inv(A)5.case子句后面的表达式不可以为:A.标量B.字符串C.单元矩阵D.数值矩阵6.以下关于函数的说法错误的选项是:BA.在M文件中只有一个主函数B.主函数不一定在最上方C.主函数不能被其他文件的函数调用D.help和lookfor找不到子函数7.函数subplot〔m,n,p〕,m,n,p中哪个表示区号,区号按行还是列优先编号?DA.p列B.n列C.n行D.p行8.以下哪个函数用来绘制三维网格图:BA.surf函数B.mesh函数C.plot3函数D.以上都不是9.gcf函数表示:AA.获取当前图形窗口的句柄B.获取当前坐标轴的句柄C.获取最近被选中的图形对象的句柄D.按照指定的属性来获取图形对象的句柄10.N次多项式用长度为___的___向量表示。CA.N+1列B.N列C.N+1行D.N行二、填空题〔2×10〕1.注释以_%开头,后面是注释的容.2.__clear__命令用于删除MATLAB工作空间中的变量,_clc___命令用于清屏。3.矩阵元素按列〔列/行〕编号。4.点运算要求两矩阵的维数一样。5.MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全下标的指令为Ind2sub。6.命令文件可以(不可以/可以)直接运行,函数文件不可以(不可以/可以)直接运行。7.函数文件定义的变量为局部变量〔局部/全局〕。三、程序阅读〔4×10〕写出程序运行结果。1.

>>A=[3579;0241;6448];

>>B=A([12],2:3)

答案:B=57242.>>a=[6

9

3;2

7

5];

>>

b=[2

4

1;4

6

8];

>>

c=a.*b

答案:c=12

36

3

8

42

40

3.>>A=[6448];>>B=[1110;1110;1110;0005];>>C=[A;B(:,1:3)’]答案:C=64481110111011104.*=[0,1,0,2,0,3,0,4];

for

k=1:8

if

*(k)==0

*(k)=k;

else

*(k)=2*k+1;

end

end

答案:*=1539513717四、编程〔2×10〕1.输入三个数按从大到小的顺序输出。〔使用if〕-.z.答案:-.z.a=input('a="');ifa(1)<a(2)temp=a(1);a(1)=a(2);a(2)=temp;endifa(1)<a(3)temp=a(1);a(1)=a(3);a(3)=temp;endifa(2)<a(3)temp=a(2);a(2)=a(3);a(3)=temp;enda-.z.2.请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。-.z.f=input('输入第一个字母〔大写字符〕');switchfcase'S's=input('输入第二个字母〔小写字符〕');ifs=='a'disp('Saturday')elseifs=='u'disp('Sunday');elsedisp('dataerror');endbreak;case'F'disp('Friday');break;case'M'disp('Monday');break;case'T's=input('输入第二个字母〔小写字符〕’);ifs=='u'disp('Tuesday');elseifs=='h'disp('Thursday');elsedisp('dataerror');endbreak;case'W'disp('Wednesday');break;otherwisedisp('dataerror');end第七套填空题〔每题5分,共25分〕rand(2,3)的含义为生成2×3随机矩阵。MATLAB语言支持的3种最根本的控制构造为顺序构造、选择构造和循环构造。3〕在循环构造中跳出当前循环,继续下一次循环的命令为tinue。4〕MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。5〕工作空间浏览器主要用于存变量的存变量的查阅、保存和编辑。二、单项选择题〔每题5分,共25分〕1.以下哪个变量的定义是不合法的A(A)abcd-3(B)*yz_3(C)abcdef(D)*3yz2.以下哪条指令是求矩阵的行列式的值C(A)inv(B)diag(C)det(D)eig3.用round函数四舍五入对数组[2.486.393.938.52]取整,结果为C(A)[2638](B)[2648](C)[2649](D)[3749]4.a=2:2:8,b=2:5,下面的运算表达式中,出错的为C(A)a'*b(B)a.*b(C)a*b(D)a-b5.下面的程序执行后array的值为(A)fork=1:10ifk>6break;elsearray(k)=k;endend(A)array=[1,2,3,4,5,6](B)array=[1,2,3,45,6,7,8,9,10](C)array=6(D)array=10简答题〔20分〕1.求积分〔5分〕2.求微分方程的数值解〔5分〕dsolve('D2y*(*-1)+2*Dy+y=0','y(0)=1,Dy(0)=1','*')3.抛物线的方程为,输入c后,绘制该曲线,寻找曲线的最小值和对应的*值。〔10分〕小明编写程序如下:clc;clear;closeall;c=input('c=');a=1;*=-2:0.1:2;;%(1)对变量*num赋为数组*的个数y=zeros(1,*num);y=a**^2+c**;→%(2)按照函数形式对y赋值figure;;%(3)绘制曲线*label('*');ylabel('y');[ymin,Imin]=min(y);*min=*(ymin);→%(4)找到最小函数值对应的*值答案:clc;clear;closeall;c=input('c=');a=1;*=-2:0.1:2;*num=length(*)or*num=size(*,2);%(1)对变量*num赋为数组*的个数y=zeros(1,*num);y=a**^2+c**;→y=a**.^2+c**;%(2)按照函数形式对y赋值figure;plot(*,y)%(3)绘制曲线*label('*');ylabel('y');[ymin,Imin]=min(y);*min=*(ymin);→*min=*(Imin);%(4)找到最小函数值对应的*值编程题〔30分〕1.自己设计一个m函数文件,用来画出椭圆***/16+y*y/9=1。〔10分〕答案:M文件的程序:%画椭圆tt=0:0.02:2*pi;**=4*cos(tt);yy=3*sin(tt);a*isequalplot(**,yy,'m*')title('椭圆*^2/16+y^2/9=1')2.在*y平面选择区域[-8,8]×[-8,8],利用mesh、meshc、meshz和surf绘制。要求用子图在一个图形窗口中绘制。答案:*=-8:0.1:8;y=*;[*,y]=meshgrid(*,y);m=sqrt(*.^2+y.^2);z=sin(m)./m;subplot(2,2,1);mesh(*,y,z);subplot(2,2,2);meshc(*,y,z);subplot(2,2,3);meshz(*,y,z);subplot(2,2,4);surf(*,y,z)3.利用menu函数输入选择参数len,输入菜单的名称为“selectannum〞,根据len的取值分别给变量*赋不同的值。当len=1时,*的值为的值为4行3列全0矩阵;当len=2时,*的值为3行4列全为5的矩阵;当len=3时,*的值为5行3列均值为0,方差为1的正态分布的随机矩阵;当len=4时,*的值为字符串“notanarray〞;当len为其它值时,则显示“Error〞。要求使用switch函数。答案:len=menu('selectanum','1','2','3','4','5');%3分switchlen%switch语句格式写对2分case1y=zeros(4,3);%1分case2y=5.*ones(3,4);%1分case3y=5+randn(5,3);%1分case4y=’notanarray’;%1分otherwisedisp(‘Error’)%1分end第八套一、填空题〔一题3分,共15分〕1、标点符号_______可以使命令行不显示运算结果。答案:%2、*

为0

~4

,步长为0.1pi

的向量,使用命令_______创立。答案:*=0:0.1*pi:4。3、输入矩阵A=[123;7-58;9-1-7],使用全下标方式用A(2,2)

取出元素“-5

〞,使用单下标方式用_______取出元素“-5

〞。答案:A〔5〕。在while

表达式,

语句体,

End

循环语句中,表达式的值__

__时表示循环条件为真,语句体将被执行,否则跳出该循环语句。答案:非零。要从键盘读入一个字符串并赋值给变量*,且给出提示“Hello〞,应使用命令_________.答案:*=input(‘Hello’,’s’)。选择题〔一题3分,共15分〕1、以下表示可以作为MATLAB的变量的是(D)

A.abcd-2

B.*yz_2*

C.h

D.*_1_a

2、如果*=1:

2

:

8,则*(1)和*(4)分别是(B)

A.1,8

B.1,

7

C.2,

8

D.2,

73、指出以下错误的指令〔B〕。A.syms

a

b;

B.

syms

a,

b;

C.syms(‘a',

’b');

D.

syms(‘a','b','positive');4、以下哪条指令是求矩阵的行列式的值〔C〕。A

.inv

B.

diag

C.

det

D.eig

5、清空Matlab

工作空间所有变量的指令是〔C〕。A.

clc

B.cls

C.clear

D.

clf

三、程序分析题〔一题10分,共20分〕1、分析下面程序运行后s1,n1,s2,n2,m的值。s1=0;s2=0;n1=0;n2=0;*=[1,-4,-8,3,10,-9,7,-3,10,

8,-5,-2,2,0

];

m=length(*);

for

i=1:m

if

*(i)<0

s1=s1+*(i);

n1=n1+1;

else

s2=s2+*(i);

n2=n2+1;

end

end

s1,n1,s2,n2,m

请答复s1,n1,s2,n2,m的结果。答案:s1=-31,n1=6,s2=41,n2=8,m=14。2、求出mysum的值mysum=0;i=1;while(i<=100)

mysum=mysum+i;i=i+1;end

mysum

答:mysum

=

5050

程序改错题〔一题10分,共10分〕下面的语句用来判断一个人的体温是否处于危险状态〔华氏温度〕,请找出错误并改正。temp=input('Enter

temperature:')

if

temp<97.5

disp('Temperature

below

normal');

elseif

temp>97.5

改正:temp>97.5

&temp<=99.5

disp('Temperature

normal');

elseif

temp>99.5

改正:temp>99..5

&temp<=103.0

disp('Temperature

slightly

high');

else

temp>103.0

改正:去掉temp>103.0

disp('Temperature

dangerously

high');

end

程序编程题〔共40分〕1、用MATLAB编程求以下联立方程的解3*+4y-7z-12w=4

;5*-7y+4z+

2w=-3;*

+8z-

5w=9

;-6*+5y-2z+10w=-8

。求系数矩阵的秩,求出方程组的解。〔5分〕答案:a=[3

4

-7

-12;

5

-7

4

2

;1

0

8

-5;

-6

5

-2

10];

c=[4;

-3;

9;-8];

b=rank(a)d=a\c

*=d(1)Y=d(2)Z=d(3)W=d(4)>>

b

=

4

*=-1.4841;y=

-0.6816;z=

0.5337;w=-1.24292、编写函数文件求半径为r的圆的面积和周长。〔5分〕答案:function[s,p]=fcircle(r)s=pi*r*r;p=2*pi*r;3、Fibonacci数列的各元素为:1、1、2、3、5、8、……,满足以下关系F1=1,F2=1,Fn=Fn-1+Fn-2,用M函数文件实现,数列的元素个数为输入变量,且当*个元素大于50时,退出循环构造。〔10分〕答案:functionf=shiyan5(n)f(1)=1;f(2)=1;fori=2:nf(i+1)=f(i-1)+f(i);iff(i+1)>50break;endend4、从键盘输入任意个正整数,以0完毕,输出那些正整数中的素数。〔20分〕答案:clc;clear;

zzs(1)=input('请输入正整数:');k=1;

n=0;%素数个数while

zzs(k)~=0

flag=0;%是否是素数,是则为1

for

yz=2:sqrt(zzs(k))%因子从2至此数平方根if

mod(zzs(k),yz)==0

flag=1;break;%非素数跳出循环end

end

if

flag==0&zzs(k)>1%忽略0和1的素数n=n+1;sus(n)=zzs(k);

end

k=k+1;

zzs(k)=input('请输入正整数:');

end

disp(['你共输入了'

num2str(k-1)

'个正整数。它们是:'])

disp(zzs(1:k-1))%不显示最后一个数0

if

n==0

disp('这些数中没有素数!')%无素数时显示else

disp('其中的素数是:')

disp(sus)

end第九套MATLAB试题一、填空题。〔每空1分,共20分〕1、MATLAB中(clc)用于去除指令窗中显示的容,(clear)用于去除工作空间中保存的变量,(clf)用于去除图形窗口。MATLAB中〔help〕命令只搜索出关键字完全匹配的结果,〔lookfor〕命令对搜索围的M文件进展关键字搜索。3、MATLAB变量名必须以〔字母〕开头,MATLAB提供的标准函数名以及命令必须用〔小写字母〕。4、t是0~4pi,步长为0.1pi的向量,使用冒号表达式建立向量为(t=0:0.1*pi:4*pi),使用linspace函数建立向量为linspace(0,4*pi,10)。2-605、矩阵A=31-8,用全下标方式(A(3,2))取得元素‘8’,用单586下标方式(A(8))取得元素‘-8’.。6、在MATLAB矩阵除法中,A\B等效于(inv(A)*B),B/A等效于〔B*inv(A)〕7、A=[12;34],B=[10;01],A*B=([12;34]),A.*B=([10;04])。8、为了使两个plot的图形在同一个坐标显示,可以用〔holdon〕命令进展图形保持,一个图形窗口上绘制多个图形可以用〔subplot()〕函数进展分割窗口。MATLAB提供了mesh函数和surf函数分别用来绘制〔三维网格图〕和〔三位曲面图〕。对于线性方程组A*=B,其求解方式为〔*=A\B〕。选择题。〔每题3分,共30分〕关于主函数,以下说确的是(B)

主函数名必须与文件名一样B.主函数的工作空间与子函数的工作空间是嵌套的C.主函数中不能定义其他函数D.每个函数文件中都必须有主函数数组A=[12;45],则A(1,:)是指〔B〕第一行向量B.第一列向量C.整个数组D.第一个元素legend()命令是〔A〕在图中标注“图例〞;B.在图中加上网格线C.在图中加上标题D.打印图形指出以下错误的指令〔B〕。symsab;B.symsa,b;C.syms("a',"b');D.syms("a','b','positive');5、以下哪条指令是求矩阵的行列式的值〔C〕。A.invB.DiagC.detD.eig6、以下MATLAB语句不正确的选项是〔C〕A.A=[1,2,3;456;780];sum(A(:))B.A=[1,2,3;456;780];C=A>6C.A=[1,2,3;4,5,6;7,8,0];A(1,:).*A(:,3)D.A=[1,2,3;4,5,6;7,8,0];A(1,:)*A(:,3)7、如果有函数声明行为:function[*,y,z]=e*efun1(a,b,c)。则下述函数调用格式错误的选项是〔B〕。A.*=e*efun1(a,b,c)B.[*,y,z,w]=e*efun1(a,b,c)

C.[*,b,z]=e*efun1(a,y,c)D.[a,b]=e*efun1(*,y,z)

在循环构造中跳出循环,但继续下次循环的命令为〔C〕A.return;B.breakC.continueD.keyboad9、运行如下程序后,输入9回车,命令窗口〔mandwindows〕显示的结果为(A)c=input('请输入一个字符','s');ifc>='A'&c<='Z'disp(setstr(abs(c)+abs('a')-abs('A')));elseifc>='a'&c<='z'disp(setstr(abs(c)-abs('a')+abs('A')));elseifc>='0'&c<='9'disp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论