Matlab考试题库+答案 下载本文

填空题

1、标点符号; %—用来表示该行为注释行。 可以使命令行不显示运算结果, 2、x 为0 ~4pi ,步长为0.1pi 的向量,使用命令 x=0:0.1*pi:4*pi 创建。 3、输入矩阵A=

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

式用A(5)取出元素“-5 ”。

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

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

6. 设x是一维数组,x的倒数第3个元素表示为x(_end-2_)

设y为二维数组,要删除y的第34行和48列,可使用命令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 矩阵,且存在于WorkSpace中,要 和C=产生矩阵D=

计算

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的对角矩阵函数是 diag ;

求A的下三角矩阵函数是 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)= -1 , round(-1.5)= -2 .

可用命令det(inv(A?*B)

,可用命令D=(A-C)/B.^C,

18.已知A=[1 3;4 6];C=[A,eye(sizeA);A ,ones(sizeA)] 则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)= 5 , A(3,2)=无答案

20. A=[1,2;3,4];B=[1,0;0,1]; A*B= [1 2;3 4] , A.*B= [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 2 3;1 4 9;0 7 27] ,-1表示为主对角线下一条对角线一下的数全变为0,提取矩阵上三角矩阵的函数

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 的运行结果 ans=[0 1 1;1 1 0] ;

A ./ B 的运行结果 ans= [0 2.25 2;1 0.6 NaN]。 26. 产生4阶全0方阵的命令为 zeros(4)

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

27. A=rand(2,5);b=sizeA;c=lengthA;则b和c的值分别为 25、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提供了两种运行方式,是按 F5 和把 *.m 文件copy到matlab里,回车。 32.MATLAB的含义为 矩阵实验室(Matrix Laboratory) 。 33.MATLAB中,都包括哪些工具箱:

偏微分方程工具箱 、最优化工具箱 、插值运算工具箱、数理统计工具箱 信号处理工具箱 、 通信工具箱、 滤波设计工具箱 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 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'); 11.下列哪条指令是求矩阵的行列式的值(C)。

A inv B diag C det D eig

Inv: 求逆矩阵

diag : 矩阵对角元素的提取和创建对角阵 sqrt(x) : 求x的平方根 abs(x): 求x的绝对值 detA: 求行列式的值

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.以下哪个说法是正确的(D)。

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

C输入二维数值数组时,需要用到逗号和分号,它们可以在中文状态下输入。 D历史指令窗口所记录的内容 与 diary 指令所产生“日志”内容是不同的。

16.求解线性方程组Ax=b,当detA≠0时,方程的解是( A ). A. A\\b B.b/A C.b\\A D.A/b

17. 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( A ) c=input('请输入一个字符','s'); if c>='A' & c<='Z'

disp(setstr(absC+abs('a')-abs('A'))); Else if

c>='a'& c<='z'

disp(setstr(absC- abs('a')+abs('A'))); Else if

c>='0'& c<='9'

disp(absC-abs('0')); else dispC; 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+sqrtD)/(2*a),(-b-sqrtD)/(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

C ) D. x1=1 x2=-1

19. 清除工作空间(wordspace)的命令是( B) A. clc;

B. clear;

C. clf;

D.delete;

20. 运行如下程序后,输入9回车,命令窗口(command windows)显示的结果为( D ) 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

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(maxA) A. y=564

B.y=9

C.y=-735 D.y=563

26. 在图形指定位置加标注命令是(C) A. title(x,y,?y=sin(x)?); C. text(x,y,?y=sin(x)?);

B. xlabel(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 辨析题:

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

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

x=-2:0.2:2;

y=x.^2; plot(x,y)

str1 = num2str(min(x));

C a*b D a-b

% 数字转化为字符串

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'];

问答题:

1、MATLAB系统包括哪些窗口,各个窗口功能是什么? 2、 mysum=0;i=1; While (i<=100)

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

mysum =5050

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

y=0.5*x; else if y=0.5;

x>6

f(x)=1 x = 0:0.05:2;

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

else y =1.5-0.25*x; end end

运行结果 x=2

4、 写出执行以下代码后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 = D=

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

4 5

5、写出执行以下代码后,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

6、创建符号函数并求解,要求写出步骤和运行结果 (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))

7、 求解以下线性方程组,要求写出程序代码和运行结果。 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=rankA; rb=rank([a b]); detA; xx=a\\b 运行结果: xx = 3.1079 1.3278

7.9502 -1.0913 8、

(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

9、设A为14*17 数组,B为一个行数大于3的数组,请给出

(1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令; 解:(1)A(:,[4 8 12])=[]

(2) B(end-2)=[]

编程简题

1、 求下列联立方程的解

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=rankA 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

的任

2、编写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

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

4、已知变量:A=’ilovematlab’;B=’matlab’, 请找出: ①、在A中的位置。

解:strfind(A,B):(strfind(A,B)+lengthB-1) ②、 把B放在A后面,形成C=‘ilovematlabmatlab’

解: C = [A,B]