文档库 最新最全的文档下载
当前位置:文档库 › Matlab-期末考试题库(共12套卷)(最新整理)

Matlab-期末考试题库(共12套卷)(最新整理)

第一套

华东交通大学2015-2016学年第一学期M a t l a b期末考试

一、填空题(4*6=24 分)

1、在MATLAB 命令窗口中的“>>”标志为MATLAB 的命令行提示符,“│”标志为输入提示符。

2、符号表达式 sin(2*a+t)+m 中独立的符号变量为_t_。

3、在通常情况下,左除x=a\b 是的解,右除x=b/a 是的解,一般情况下,。

4、为了使两个plot 的图形在同一个坐标显示,可以使用hold on命令进行图形保持;可以使用_ grid on命令为图形添加网格。

5、倘若要是对 x 进行赋值,从 5 到25,间隔是 0.1,为x=5:0.1:25;倘若要是对x进行赋值,从2到20,中间间隔100个点 , 为

x=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;

0 4] _;

3.a*x=b,x*a=b,a\b,b/a;

二、选择题(4*6=24 分)

7、如果x=1: 2 : 8,则x(1)和x(4)分别是( B )

A.1,8 B.1, 7 C.2, 8 D.2, 7

8、运行如下程序后,输入9回车,命令窗口(command 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. 6

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

A.128 B.4096 C. 262144 D.256

10、在循环结构中跳出循环,执行循环后面代码的命令为(B )

(A) return (B) break (C) continue (D) keyboard

11、在图形指定位置加标注命令是(C)

A. title(x,y,?y=sin(x)?);

B. xlabel(x,y,?y=sin(x)?);

C. text(x,y,?y=sin(x)?);

D. legend(x,y,?y=sin(x)?); 12、

下列哪个变量的定义是不合法的(A)。

(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz

三、程序题(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*p i;

s u bp l o t(2,3,1)y1=s i n(t);p l o t(t,y1)t i t l e('y1=s i n(t)')

s u bp l o t(2,3,2)y2=c o s(2*t);p l o t(t,y2)t i t l e('y2=c o s(2t)')

s u bp l o t(2,3,3)y3=s i n(t)+c o s(t);p l o t(t,y3)

t i t l e('y3=s i n(t)+c o s(t)')

s u bp l o t(2,3,4)y4=3*t;p l o t(t,y4)t i t l e('y4=3t')

s u bp l o t(2,3,5)y5=2*l og(t);p l o t(t,y5)t i t l e('y5=2l n(t)')

s u bp l o t(2,3,6)y6=ex p(t);p l o t(t,y6)t i t l e('y6=e^t')

14(10 分)、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price 来表示):

price<200 没有折扣

200≤price<5003%折扣

500≤price<10005%折扣

1000≤price<25008%折扣

2500≤price<500010%折扣

5000≤price14%折扣

输入所售商品的价格,求其实际销售价格。

答案14.p r i c e=i n p u t('请输入商品价格');

s w i t c h f i x(p r i c e/100)

c a s e{0,1}%价格小于200

r a t e=0;

c a s e{2,3,4}%价格大于等于200但小于500

r a t e=3/100;

c a s e nu m2c e ll(5:9)%价格大于等于500但小于1000

r a t e=5/100;

c a s e nu m2c e ll(10:24)%价格大于等于1000但小于2500

r a t e=8/100;

c a s e nu m2c e ll(25:49)%价格大于等于2500但小于5000

r a t e=10/100;

o t h e r w i s e%价格大于等于5000

r a t e=14/100;

end

p r i c e=p r i c e*(1-r a t e)%输出商品实际销售价格

15(10 分)、在同一图形窗口中按照 x=0.1 的步长间隔分别绘制曲线 y1=,0x;y1=sin(x)+cos(x),1≤x≤2。要求 y1 曲线为红色虚线,数据点用圆圈标识;y2 曲线为蓝色点划线;给出图例;标记图名为 y1,y2。

答案15.x1=0:0.1:1;

y1=x1.^2.*ex p(-x1);

x2=1:0.1:2;

y2=s i n(x2)+c o s(x2);

p l o t(x1,y1,'r--o',x2,y2,'b-.')

l e g e n d('y1','y2')

t i t l e('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 =

123

456

789

101112

D =

2 3

5 6

8 9

E =

4 5

17(12分)、已知系统函数为

试画出零极点分布图,并求系统的冲激响应h(t)和频率响应H(jw),并判断系统是否稳定。

17.已知系统函数H(s),求系统的冲激响应h(t)和频率响应H(j w),可调用

i m p u l s e函数和f r e q s 函数。

nu m=[1];

d e n=[1221];

s y s=t f(nu m,d e n);

po l e s=r oo t s(d e n)

f i

g u r e(1);p z m a p(s y s);

t=0:0.02:10;

h=i m p u l s e(nu m,d e n,t);

f i

g u r e(2);p l o t(t,h)

t i t l e('I m p u l s e R e s po n e')

[H,w]=f r e q s(nu m,d e n);

f i

g u r e(3);p l o t(w,a b s(H))

x l a b e l('\o m e g a')

t i t l e('M a g n i t u d e R e s po n e')

第二套

M a t l a b模拟试卷

一、填空题(每空 2 分,总分 20)。

1.M ATLAB 常用操作界面包括命令窗口、工作空间窗口(浏览器)、命令历史窗口、当前目录窗口、内存数组编辑器、M 文件编辑/调试器、帮助导航/ 浏览器、图形窗口等。

2.M ATLAB 中逗号主要用作要显示计算结果的指令与其后指令的分

隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符

号。

3.工作空间浏览器主要用于内存变量的查阅、保存和编

辑。

4.MATLAB 实现将全下标转换为单下标的指令为Sub2ind 、据单下标换算出全下标的指令为Ind2sub 。

5.二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。

二、选择题(每空 2 分,总共 20 分)

1.下列哪个变量的定义是不合法的( A )

(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz

2.下列哪条指令是求矩阵的行列式的值( C )

(A) inv (B) diag (C) det (D) eig

3.在循环结构中跳出循环,执行循环后面代码的命令为(B )

(A) return (B) break (C) continue (D) keyboard

4.清空Matlab 工作空间内所有变量的指令是( C )

(A) clc (B) cls (C) clear (D) clf

5.用r o un d函数四舍五入对数组[2.48

6.393.938.52]取整,结果为(C )

(A)[2638](B)[2648](C)[2649](D)[374 9]

6.已知a=2:2:8,b=2:5,下面的运算表达式中,出错的为(C)

(A)a'*b(B)a.*b(C)a*b(D)a-b

7.角度x =[30 45 60],计算其正弦函数的运算为( D )

(A) SIN(deg2rad(x))(B) SIN(x) (C) sin(x) (D) sin(deg2rad(x))

8.下面的程序执行后array 的值为( A )

for k=1:10

if k>6

break;

else

array(k) = k;

end

end

(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.0000i

10.求解方程x4-4x3+12x-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=[2 3 5];

A(s)

Sa=[10 20 30]'

A(s)=Sa

ans =

2 3 5

Sa =

10

20

30

A =

1 20 30 7

10 4 6 8

2、写出下列指令运行结果。

A=reshape(1:16,2,8)

reshape(A,4,4)

s=[1 3 6 8 9 11 14 16];

A(s)=0

答案:A=reshape(1:16,2,8)

A =

1 3 5 7 9 11 13 15

2 4 6 8 10 12 14 16

reshape(A,4,4)

ans =

1 5 9 13

2 6 10 14

3 7 11 15

4 8 12 16

s=[1 3 6 8 9 11 14 16];

A(s)=0

A =

0 0 5 7 0 0 13 15

2 4 0 0 10 12 0 0

3、写出下列指令运行结果。

A=[1,2;3,4];

B=[-1,-2;2;1];

S=3;

A.*B

A*B

S.*A

S*B

答案:

ans =

-1 -4

6 4

ans =

3 0

5 -2

ans =

3 6

9 12

ans =

-3 -6

6 3

4、下面的函数主要完成什么功能?function f=factor(n)

if n<=1

f=1;

else

f=factor(n-1)*n;

End

答:利用函数的递归调用,求n!。

四、程序填空(每空3 分,共15 分)

1.编写MATLAB 程序,在同一图形窗口中绘制y1 和y2 两条曲线,并对图形坐

标轴进行控制。程序如下:

x = -3:0.1: 3;

y1 = 2*x+5; y2 = x.^2-3*x;

plot(x,y1); %绘制曲线y1

①; %保持曲线y1 ①h o l d o n

plot(x,y2); %绘制曲线y2

m1 = max([y1, y2]); m2 = min([y1, y2]);

②; %用axis 调制坐标轴,横坐标在[-3 3]之间,且完全显示图形

③; %加入图形注释,横坐标为“时间”,纵坐标为“幅度”

2.编写MATLAB 程序,对于用户输入的向量或矩阵,计算其平均值和方差:

④; % 提示输入数据并保存到x 中,命令行显示“请输入数据”

y = reshape(x,1, prod(size(x)));

m = mean(y); % 计算均值m

⑤; % 计算方差v

①h o l d o n

②ax i s([-33m2m1])

③x l a b e l(‘时间’);y l a b e l(‘幅度’);

④x=i n p u t(‘请输入数据\n’)或x=i n p u t(‘请输入数据’)

⑤v=va r(y)或1/(l e n g t h(y)-1)*(s u m((y-m).^2))

五、编程题(40 分)

1、分别在同一图形窗的不同子图绘制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')

axis([0,pi,-1,1])

2、编写程序实现f(n)=f(n-1)+f(n-2)(f(1)=1 和f(2)=2)函数。(5 分)

f un c t i o n f=f a b(n)

i f(n==1)

f=1;

e l s e i f(n==2)

f=2;

e l s e

f=f a b(n-1)+f a b(n-2);

End

3、求解以下线性方程组,要求写出程序代码和运行结果(5 分)

2x1-3x2+x3+2x4=8

x1+3x2+x4=6

x1-x2+x3+8x4=1

7x1+x2-2x3+2x4=5

>> syms a b c x

>> syms x1 x2 x3 x4

>> clear

>> syms x1 x2 x3 x4

>>f=2*x1+3*x2+x3+2*x4-8;

>>g=x1+3*x2+x4-6;

>>h=x1-x2+x3+8*x4-1;

>>i=7*x1+x2-2*x3+2*x4-5;

>>[x1,x2,x3,x4]= s o l ve(f,g,h,i)

x1 =

13/17

x2 =

320/187

x3 =

212/187

x4 =

19/187

4、打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身。(10 分)

f o r k=100:999

a=f i x(k/100);

b=r e m(f i x(k/10),10);

c=r e m(k,10);

i f a.^3+b.^3+c.^3==k

f p r i n t f(“%u,\t\t”,k);

end

end

第三套

MATLAB 试卷

一、填空题(每题2 分,共10 题,共20 分,错一个得1 分,错 2 个得0 分)

1.M ATLAB 命令窗口中可用命令清除工作区中的变量;用命令清除命令窗口中的内容。

2.M ATLAB 中的运算包括、、。

3.M ATLAB 中的M 文件有、。

4.M ATLAB 中的程序控制结构包括、、。

5.已知矩阵A[1 2 3;4 5 6;7 8 9],A(6) A(1,3)。

6.M ATLAB 中用函数完成矩阵的求逆运算,用函数求矩阵的行列式。

7.在MATLAB 中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用

函数。

8.M ATLAB 提供了函数和函数来绘制三维曲面图。

9.用 if 语句判断60≤x≤80,在 MATLAB 中 if 语言后面的判断应写为。

10.为了使两个plot 的图形在同一坐标显示,可以使用命令进行图形保持,可以使用命令为图形添加网格。

二、选择题(每题2 分,共10 题,共20 分)

1.下列哪个变量的定义是不合法的

(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz

2.在循环结构中跳出循环,执行循环后面代码的命令为

(A) return (B) break (C) continue (D) keyboard

3、下列变量名中是合法的。

(A) char_1 ; (B) x*y ; (C) x\y ; (D) end

4. 如果x=1:-1:-8,则x(1)和x(5)分别是

A.-1,-3 B.-1,-7 C.-1,-6 D.1,-3

5.在MATLAB 中下列数值的表示不正确的是

A.+25 B.1.3e-5 C.4-3*e^2 D.3-2*pi

6.用round 函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为

(A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]

7.下列哪条指令是求矩阵的行列式的值

(A) inv (B) diag (C) det (D) eig

8.在图形指定位置加标注命令是

A. title(x,y,’y=sin(x)’);

B. xlabel(x,y,’y=sin(x)’);

C. text(x,y,’y=sin(x)’);

D. legend(x,y,’y=sin(x)’);

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.0000i

10、在循环结构中跳出循环,但继续下次循环的命令为

(A) return; (B) break ; (C) continue ; (D) keyboard

三、简答题(每题 7.5 分,共 4 题,共 30 分)

1.A = [1 2; 3 4]; B = [1 2; 1 4];

写出下面几条指令的运行结果:

C = A*B

D = A+B

E = A.*B

2.在MATLAB 窗口中,用哪两种方法启动 Simulink?

3.判断下列一段程序的错误,并进行改正。

x=-2:0.2:2;

y=x.^2;

plot(x,y)

str1 = num2str(min(x));% 数字转化为字符串

str2 = num2str(max(x));% 数字转化为字符串

out = [Value of f from 'str1' to 'str2'];

xlabel(out);

4.一个 3 位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出 100- 999 之间的全部水仙花数。请补全程序中所空缺的部分。

For m=100:999

m1=fix(m/100);

m2=rem(fix(m/10),10);

m3=rem(m,10);

If m==( )

disp(m)

end

end

四、编程题(每小题 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 曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2”。

2、Fibonacci 数列的各元素为:1、1、2、

3、5、8、……,满足以下关系F1=1,F2=1,Fn=Fn-1+Fn-2

用 while 和 for 两种方法实现。

答案

一、填空题

1clear clc

2算术运算关系运算逻辑运算

3命令文件函数文件

4顺序结构循环结构选择结构

5. 8 3

6.Inv det

7.plotyy

8.mesh surf

9. If x<=80&>=60

10.hold on grid on

二、选择题

1-5 ABADB 6-10 CCCCC

三、简答题

1.C=3 10 D=2 4 E=1 4

7 22 4 8 3 16

2.在 MATLAB 命令窗口中输入“simulink”再回车,或者单击工具栏中的 SIMULINK 图标

3.out = ['Value of f from ' str1 ' to ' str2];

或 out = ['Value of f from str1 to str2’];

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-.');

text(1.2,sin(1.2),'y1\leftarrow','FontSize',12); hold on;

plot(t,y2,'r--o');

text(6,1.5,'y2\leftarrow','FontSize',12);

title('y1 and y2')

2.按M 函数文件格式创建文件开头

function f=chengxu(n)

用while 循环实现程序功能

f(1)=1;f(2)=1;

i=2;

while i<=n

f(i+1)=f(i-1)+f(i);

i=i+1;

end

用for 循环实现

f(1)=1;f(2)=1;

for i=2:n

f(i+1)=f(i-1)+f(i);

end

相关文档
相关文档 最新文档