Matlab考试题库+答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
填空题
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=和C=均为m*n矩阵,且存在于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的对角矩阵函数是 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 .
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.为了使两个pl ot的图形在同一个坐标显示,可以使用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回车,则输出结果为(C )
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
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)’);
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'];
问答题:
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 x>6 f(x)=1
y=0.5; x = 0:0.05:2;
else y =1.5-0.25*x; y = diag(A2(x)'*A2(x+2)); end plot (x,y);
end xlabel ('\bfx');
运行结果x=2 ylabel ('\bfy');
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]。