填空题(计算部分)
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) 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 因篇幅问题不能全部显示,请点此查看更多更全内容