搜索
您的当前位置:首页正文

Ma ab考试题库 答案

来源:抵帆知识网
一、 选择题 共10小题 二、 填空题 共10空 三、 看程序填空 四、 编程题 3题

填空题(计算部分)

1、标点符号; _______可以使命令行不显示运算结果,

%——用来表示该行为注释行。

2、x 为0 ~4pi ,步长为0.1pi 的向量,使用命令_______创建。

x=0:0.1*pi:4*pi 3、输入矩阵A=

,使用全下标方式用A(2,2) 取出元素“-5 ”,

取出元素“-5 ”。 使用单下标方式用_______

A(5)

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

t 5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。

6. 设x是一维数组,x的倒数第3个元素表示为_______;

设y为二维数组,要删除y的第34行和48列,可使用命令_______; _______;

x(_end-2_) y(34,:)=[] y(:,48)=[]

7. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令_________ _;

save _x

8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句;

非零

9.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令_________;

x=input(‘Who is she?’,’s’)_

10.设A=和B=均为m*n 矩阵,且存在于 和C=WorkSpace中,要产生矩阵D=,可用命令________ _,

计算可用命令________;

D=(A-C)/B.^C

det(inv(A’*B)

11. 在MATLAB命令窗口中的“>>”标志为MATLAB的_______ 提示符,“│”标志为_______提示符。

命令行 输入

12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。 A+B; A.*B; A==B ;

ans= [2,2,6;5,10,0;7,9,11] ans= [1,0,9;4,25,0;0,8,18] ans= [1,0,1;0,1,1;0,0,0]

13.已知A是矩阵,求A的对角矩阵函数是_______,

求A的下三角矩阵函数是_______ 。

diag tril

14.MATLAB的程序文件和Simulink模型文件的扩展名分别是_______、 。

.m .mdl

15.MATLAB最基本的绘图函数为_______ 。

plot()

16. A=[1,2,3;4,5,6]; A(:,[1,3])=[];A=__________________

[2;5]

17. fix(-1.5)=___ ________, round(-1.5)=__ _______________.

-1 -2

18.已知A=[1 3;4 6];C=[A,eye(size(A));A ,ones(size(A))] 则C=_____________.

[1 3 1 0;4 6 0 1;1 3 1 1;4 6

1 1]_

19. A=[1,2,3;4,5,6]; A(4)=__________, A(3,2)=__________________

5_ 无答案

20.A=[1,2;3,4];B=[1,0;0,1]; A*B=__________, A.*B=____________.

[1 2;3 4] [1 0;0 4]

21. A=[1 2 3;6 5 4]; reshape(A,3,2)=______________.

[1 5;6 3;2 4]

22. A=[1,2;3,1]; B=[1,0;0,1]; A~=B=___________.

[0 1;1 0]

23. A=[1,2,3;1,4,9;1,7,27]; triu(A,-1)=_ ____.-1表示为主对角线下一条对角线一下的数全变为0 提取矩阵上三角矩阵的函数

[1 2 3;1 4 9;0 7 27]

24. A=[4,15,-45,10,6;56,0,17,-45,0]; find(A>=10 & A<=20)=___ __________.

3 6 7 25.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。 A & B 的运行结果_______; A ./ B 的运行结果_______。

ans=[0 1 1;1 1 0]

ans= [0 2.25 2;1 0.6 NaN] 26. 产生4阶全0方阵的命令为_______;

产生3阶全1方阵的命令为。

zeros(4) ones(3)

27. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为_______ 。

2 5和 5

28. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为_______。

if x<=80 & x>60

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

hold on grid on 30. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat中的指令_______;

save my_date

31. MATLAB提供了两种运行方式,是 按_______和把_______文件copy到matlab里,回车。

F5 *.m

32.MATLAB的含义为_______。

矩阵实验室(Matrix Laboratory)

33.MATLAB中,都包括哪些工具箱,举例不少于6个:_______

偏微分方程工具箱 、最优化工具箱 、插值运算工具箱、数理统计工具箱 、信号处理工具箱 、通信工具箱,滤波设计工具箱 。

34、在MATLAB中,plot命令用于什么, 。 画曲线 35、size命令的功能,确定_______。 阵列的长度 36、a=[1 2 2],求a的转置_______。 a=[1;2;2]

37、在线形图型格式的设置中,字符r表示什么颜色。 红色 38. 在MATLAB中,矩阵的秩由函数 _______来实现。 rank 39.在MATLAB中,单位矩阵由函数_______来实现。 eye 40. 在MATLAB中,二维饼图由函数_______来实现。 pie 41. 在线形图型格式的设置中,字符b表示什么颜色 。 蓝色 42. MATLAB表达式3*2^3^2的结果是_______ 。 192 43.条形图由函数_______来实现。 bar

44. 倘若要是对x进行赋值,从5到25,间隔是0.1, x=5:0.1:25;

45. 倘若要是对x进行赋值,从2到20,中间间隔100个点,

x=linspace(2,20,100);

选择题(计算部分)

1. 下列变量中的最大数是(C)

A.eps B.realmin C.realmax D.-pi 2. 下列表示可以作为MATLAB的变量的是(D)

A.abcd- 2 B.xyz_2# C.@h D.X_1_a 3. 如果x=1: 2 : 8,则x(1)和x(4)分别是(B)

A.1,8 B.1, 7 C.2, 8 D.2, 7 4. 下列变量中比0大的最小数是(B)

A.i B.realmin C.realmax D.pi 5. 在MATLAB中下列数值的表示不正确的是(B)

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

c d b b b

6. 下列表示可以

作为MATLAB的变量的是( B)

A.abcd-2 B.xyz_2a C.@h D.3hour

7. 如果x=1:-2:-8,

则x(1)和x(5)分别是(D)

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

8. MATLAB表

达式2*2^3^2的结果是(A)

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

9. 下列哪个变量

的定义是不合法的(A)。

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

x3yz

10. 指出下列错误的指令(B)。

(A) syms a b; (B) syms a, b; (C) syms(‘a', ‘b'); (D) syms(‘a','b','positive');

b d a A B

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

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

inv是求逆矩阵

diag?是矩阵对角元素

的提取和创建对角阵

sqrt(x) —— 求x的平

方根

abs(x)—— 求x的绝对

det(a)—— 求行列式的

eig——计算矩阵A的特

征值和特征向量的函数

clf; 用来清除图形的命令

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

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

13、下列变量名中——A——是合法的。

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

14.以下哪个说法是正确的()。

(A)Matlab 进行数值计算的表达精度与其指令窗口中的数值显示精度相同。 (B)Matlab 指令窗口中显示的数值有效位数不能超过 7 位。

(C)输入二维数值数组时,需要用到逗号和分号,它们可以在中文状态下输入。

(D)历史指令窗口所记录的内容 与 diary 指令所产生“日志”内容是不同的。 15. 产生四维单位矩阵的语句为().

A.ones(4) B.eye(4) C.zeros(4) D.rand(4) >> eye(4)

ans =

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 >> ones(4)

>> zeros(4) ans =

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ans =

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

>> rand(4) ans =

0.8147 0.6324 0.9575 0.9572 0.9058 0.0975 0.9649 0.4854 0.1270 0.2785 0.1576 0.8003 0.9134 0.5469 0.9706 0.1419

C C a D b

16.求解线性方程组Ax=b,当det(A)≠0时,方程的解是().

A. A\\b B.b/A C.b\\A D.A/b

17. 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为()

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

18. 运行下面的代码后,输入:1回车,2回车,1回车,则输出结果为( ) a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c;

x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]); A. x1=num2str(1) x2=num2str(1) B. x1=num2str(-1) x2=num2str(1) C. x1= -1 x2=-1 D. x1=1 x2=-1

19. 清除工作空间(wordspace)的命令是( )

A. clc; B. clear; C. clf; D.delete;

20. 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( )

x=input('请输入x的值:'); if x==10

y=cos(x+1)+sqrt(x*x+1); else

y=(3^(1/2))*sqrt(x+sqrt(x)); end y

A. 9 B. 8 C. 7 D. 6

a a c b d

21. 运行如下程序后, 命令窗口(command windows)显示的结果为( b) s=0;

a=[12,13,14;15,16,17;18,19,20]; for k=a s=s+k; end disp(s');

A. 144 B. 39 48 57 C.145 D. 45 48 51

22. 运行如下程序后, 命令窗口(command windows)显示的结果为(b ) k=0;

for n=100:200

if rem(n,21)~=0 %R=rem(X,Y),求余数函数,X,Y应该为正数

k=k+1; continue end break; end k

A.105 B. 5 C.4 D.101

23. 图形窗口(Figure)显示网格的命令是( b)

A. axis on B. grid on C. box on D. hold on 24. 已知函数文件如下,则factor(4)=(c ) function f=factor(n) if n<=1 f=1; else

f=factor(n-1)*n; end

A. 4 B. 12 C. 24 D.48

25. 运行如下程序后, 命令窗口(command windows)显示的结果为( d) A=[13,-56,78; 25,63,-735; 78,25,563; 1,0,-1]; y=max(max(A))

A. y=564 B.y=9 C.y=-735 D.y=563 26. 在图形指定位置加标注命令是(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)’); %添加图例的标注, 27.下列哪个函数为插值函数(b )

A. P=polyfit(X,Y,3) B. Y1=interp1(X,Y,X1,'method') C. [Y,I]=sort(A,dim) D. R=corrcoef(X)

28.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?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

29. 求解方程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

30、在循环结构中跳出循环,但继续下次循环的命令为 。c (A) return; (B) break ; (C) continue ; (D) keyboard

31. 用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为 c (A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9] 32. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 c (A) a' *b (B) a .*b (C) a*b (D) a-b 辨析题:

1 MATLAB有几种建立矩阵的方法?各有什么优点?。

2 MATLAB提供编程语言,请辨析M文件编程中的命令文件与函数文件两种形式。 3 辨析matlab中的拟合与插值有什么区别 4. 判断下列一段程序的错误,并进行改正。

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

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

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

5根据下面两个矩阵

执行下列的矩阵运算命令,并回答有关的问题

(1) A.*B和 A*B将分别给出什么结果,它们是否相同,为什么? (2) 得出A.^B、A/B及A\\B的结果,并分别解释它们的物理意义。

问答题:

1 MATLAB系统包括哪些窗口,各个窗口功能是什么? 2 分析下面程序运行后s1,n1,s2,n2,m的值。

s1=0;s2=0;n1=0;n2=0;

x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ]; m=length(x); for i=1:m

if x(i)<0

s1=s1+x(i); n1=n1+1; else

s2=s2+x(i); n2=n2+1;

end end

s1,n1,s2,n2,m

请回答s1,n1,s2,n2,m的结果。

3 已建立一个简单的SIMULINK模型,如下图,用信号发生器产生一个仿真图,请对下图

的符号和功能进行解释。

3 A = [1 2; 3 4]; B = [1 2; 1 4]; 写出下面几条指令的运行结果: C = A*B D = A+B E = A.*B 答: C = 3 10 7 22 D =

2 4 4 8 E = 1 4 3 16

4.mysum=0;i=1; while(i<=100) mysum=mysum+i; i=i+1; end mysum 答: mysum = 5050

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

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

6. 请修改下面的程序,让他们没有for循环语句! A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c

if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end

解:程序如下:a=[1 2 3;4 5 6;7 8 9]; b=(a<=8&a>=2);a=a.*b

7 编写一个函数,使其能够产生如下的分段函数:并调用此函数,绘制x=[0,+2]范围内的f(x)*f(x+2) 。 答:function y=f(x) if x<=2 y=0.5*x;

else if x>6 y=0.5;

else y =1.5-0.25*x; end end

运行结果 x=2 f(x)=1

x = 0:0.05:2;

y = diag(A2(x)'*A2(x+2)); plot(x,y); xlabel('\\bfx'); ylabel('\\bfy');

8(1) 将一个屏幕分4幅,选择合适的步长在右上幅与左下幅绘制出下列函数的图形。 ①

,x

(曲线图);②f(x,y)=

(-2<=x<=2,-4<=x<=4)(曲

面图)。

答:subplot(2,2,2);

ezplot('(cos(x))^(1/2)',[-pi/2 pi/2]); ylabel('y'); subplot(2,2,3); x=-2:0.5:2; y=-4:1:4;

ezsurfc('x^2/2^2+y^2/4^2')

(2) A 是一个维度m×n的矩阵. 写一段程序, 算出A中有多少个零元素。 答:>> A= input ('请输入一个矩阵') [m,n]= size(A); sig=0; for i=1:m for j=1:n if A(i,j)==0 sig = sig+1; end end end

请输入一个矩阵[0 1 2;1 0 2; 0 0 0] A = 0 1 2 1 0 2 0 0 0 >>sig sig = 5

9 向量 A=[

]. 写一段程序, 找出A中的最小元素。

答:A= input ('请输入一个向量') [m,n]=size(A) min =A(1,n); for i=1:n if A(1,i)请输入一个向量[1 2 3 -5 2 0] A = 1 2 3 -5 2 0 min = -5

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]) C =

1 2 3 4 5 6 7 8 9 10 11 12 D =

2 3 5 6 8 9 E =

4 5

11 写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值。 x=[0,1,0,2,0,3,0,4]; for k=1:8 if x(k)==0 x(k)=k; else

x(k)=2*k+1; end end disp(x);

1 5 3 9 5 13 7 17 12 创建符号函数并求解,要求写出步骤和运行结果 (1)创建符号函数f=ax2+bx+c (2)求f=0的解 syms a x b c; f=a*x^2+b*x+c; solve(f) ans =

1/2/a*(-b+(b^2-4*a*c)^(1/2)) 1/2/a*(-b-(b^2-4*a*c)^(1/2))

13 求解以下线性方程组,要求写出程序代码和运行结果。 2x1-3x2+x3+2x4=8 x1+3x2+ x4=6 x1-x2+x3+8x4=1 7x1+x2-2x3+2x4=5

解:程序代码:a=[2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2]; b=[8 6 1 5]'; ra=rank(a);

rb=rank([a b]); det(a); xx=a\\b 运行结果: xx = 3.1079 1.3278 7.9502 -1.0913

14. (1) 写出关系运算符中的等号、不等号、小于号、大于号、小于等于号和

大于等于号;

(2) 写出逻辑操作中逻辑“与”、逻辑“或”及逻辑“非”的符号; (3) 并用语句表达“如果a等于 b且c等于0就让d 等于3,否则如果a大于b且c=1让d等于 0,其余情况让d等于3”; 解:(1) == ~= < > <= >= (2)& | ~ (3)if a==b&c==0 d=3

else if a>b&c= =1 d=0 else d=3

end 15. 设A=

和B=

是两个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对应的每个元素的指数求积, 16. 设A为14*17 数组,B为一个行数大于3的数组,请给出

(1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令;

解:(1)A(:,[4 8 12])=[]

(2) B(end-2)=[] 编程简题

1 利用MATLAB数值运算,求解线性方程组(将程序保存为???.m文件) 2 求下列联立方程的解 3x+4y-7z-12w=4 5x-7y+4z+ 2w=-3 x +8z- 5w=9 -6x+5y-2z+10w=-8

求系数矩阵的秩;求出方程组的解。 解:(1)

>> 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) b = 4

(2)>> d=a\\c

d = -1.4841, -0.6816, 0.5337,-1.2429

即: x=-1.4841;y= -0.6816;z= 0.5337;w=-1.2429

3 编写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”。 程序如下:(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')

4 编写M函数文件,利用for循环或while循环完成计算函数y=sum(n)=

的任务,并利用该函数计算 n=20时的和(将总程序保存

为??.m文件)。 function sum=text4(n); sum=0; m=1; while m<=n; sum=sum+m^m m=m+1; end

当n=20时 用上述程序求得的和为: 1.0688e+026

5 请产生一个100*5的矩阵,矩阵的每一行都是[1 2 3 4 5] 解:repmat(1:5,100,1)

6 已知变量:A=’ilovematlab’;B=’matlab’, 请找出:

(A) B在A中的位置。 解:strfind(A,B):(strfind(A,B)+length(B)-1) (B) 把B放在A后面,形成C=‘ilovematlabmatlab’ 解: C = [A,B] 7编写M文件,炼钢基本上是一个氧化脱碳的过程,钢液中原含碳量多少直接影

响到冶炼时间的长短,下表是某平炉的熔钢完毕碳(x)与精炼时间(y)的生产记录。 现希望从上表的数据中找出x与y变化规律的经验公式,用多项式进行曲线拟合,

并给出相应的曲线。

>> x=[134 150 180 104 190 163 200]; >> y=[135 168 200 100 215 175 220]; >> f=polyfit(x,y,2) f =

-0.0016 1.7666 -68.3091 >> plot(x,y,'o',x,polyval(f,x)) x与y的关系式为

y=-0.0016*x^2+1.7666*x-68.3091

因篇幅问题不能全部显示,请点此查看更多更全内容

Top