Matlab考试题库+答案(教师出卷参考专用)

更新时间:2023-12-23 12:42:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、 辨析题(共2小题,每题 5 分,共计 10 分) 二、 问答题(共3小题,每题 5 分,共计 15 分) 三、 计算题(共7小题,每题 5 分,共计 35 分) 四、 编程题(共4小题,每题 10 分,共计 40 分)

填空题(计算部分)

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 矩阵,且存在于WorkSpace 和C=中,要产生矩阵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 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. 下列变量中的最大数是()

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

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

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

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

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

c d b b b

6. 下列表示可以作为MATLAB的变量的是()

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

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

A.1,-8 B.-1,-7 C.-1,-8 D.1,-7 8. MATLAB表达式2*2^3^2的结果是()

A.128 B.4096 C. 262144 D.256 9. 下列哪个变量的定义是不合法的()。

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

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

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

b d a A B

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

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

inv是求逆矩阵

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

eig——计算矩阵A的特征值和特征向量的函数

clf; 用来清除图形的命令

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

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

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

(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) ans =

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

>> zeros(4) ans =

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

>> 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根据下面两个矩阵

?41220??123??,B??456? A??124578???????2078136???789??执行下列的矩阵运算命令,并回答有关的问题

(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模型,如下图,用信号发生器产生一个仿真图,请对下图

的符号和功能进行解释。

答: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')

y1 and y221.510.50-0.5-1-1.5-2y2?y1?02468101214

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

24022020018016014012010080100110120130140150160170180190200x与y的关系式为

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

本文来源:https://www.bwwdw.com/article/wf75.html

Top