MATLAB期末考试.试卷.及其答案.doc
一、填空题(每空一、填空题(每空 2 2 分,总共分,总共 3030 分)分)1.1. 已知 A=0 9 6;1 3 0;B=1 4 3;1 5 0;写出下列各指令运行的结果。A b=size(A);c=length(A);则 b 和 c 的值分别为 和 2,5,5 。4.4. 标点符号 分号 可以使命令行不显示运算结果, 百分号 用来表示该行为注释行。5.5. 用 if 判断语句判断 80 x >60,在 MATLAB 中 if 语言后的判断应写为 if x60 。6.6. P, Q 分别是个多项式的系数矢量,求 P 对应的多项式的积分(对应的常数项为K) ,使用的命令是 polyint(P,K) ;求 P/Q 的解,商和余数分别保存在 k 和 r,使用的命令是 k,r=deconv(P,Q) ;7.7. 为了使两个 plot 的图形在同一个坐标显示,可以使用 hold on 命令进行图形保持;可以使用 grid on 命令为图形添加网格。8.8. MATLAB 的工作空间中有三个变量 v1, v2, v3,写出把它们保存到文件my_data.mat 中的指令 save my_data ;写出把 my_data.mat 文件中的变量读取到 MATLAB 工作空间内的指令 load my_data 。二、选择题(每空二、选择题(每空 2 2 分,总共分,总共 2020 分)分)1.1.下列哪个变量的定义是不合法的 A (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz2.2. 下列哪条指令是求矩阵的行列式的值 C (A) inv (B) diag (C) det (D) eig3.3. 在循环结构中跳出循环,执行循环后面代码的命令为 B (A) return (B) break (C) continue (D) keyboard4.4. 清空 Matlab 工作空间内所有变量的指令是 C (A) clc (B) cls (C) clear (D) clf5.5. 用 round 函数四舍五入对数组2.48 6.39 3.93 8.52取整,结果为 C C (A) 2 6 3 8 (B) 2 6 4 8 (C) 2 6 4 9 (D) 3 7 4 96.6. 已知 a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C C (A) a'*b (B) a .*.*b (C) a*b (D) a-b7.7. 角度,计算其正弦函数的运算为 D D 604530x(A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x)8.8. 下面的程序执行后 array 的值为 ( ( A A ) )for k=1:10if k>6break;elsearray(k) = k;endend(A) array = 1, 2, 3, 4, 5, 6 (B) array = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(C) array =6 (D) array =10. .9 9i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c 的值分别是多少?(A)a=4, b=4, c=2.0000i (C)(C)(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.0000i10.10. 求解方程 x4-4x3+12x-9 = 0 的所有解(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三、写出程序的执行结果或写出给定要求的指令(总共三、写出程序的执行结果或写出给定要求的指令(总共 3535 分)分)1.1. 写出执行以下代码后C,D,E的值 (6分)A=1,2,3;4:6;7:9; C=A;10,11,12,D=C(1:3,2 3)E=C(2,1 2)2.2. 写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分)x=0,1,0,2,0,3,0,4; for k=1:8if x(k)=0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3.3. 创建符号函数并求解,要求写出步骤和运行结果(7 分)(1)创建符号函数 f=ax2+bx+c(2)求 f=0 的解4.4. 求解以下线性方程组,要求写出程序代码和运行结果(5 分)2x1- 3x2+ x3+2x4=8x1+3x2+ x4=6x1- x2+ x3+8x4=1 7x1+ x2-2x3+2x4=55 5绘制函数曲线,要求写出程序代码(12 分)(1)在区间0:2均匀的取 50 个点,构成向量 (2)在同一窗口绘制曲线 y1=sin(2*t-0.3); y2=3cos(t+0.5);要求 y1 曲线为红色点划线,标记点为圆圈;y2 为蓝色虚线,标记点为星号四、使用四、使用 MATLABMATLAB 语言进行编程(语言进行编程(1515 分)分)打印出所有的水仙花数。所谓“水仙花数” ,是指一个三位数,其各位数字立方之和等于该数本身。一、填空题一、填空题1 1、ans =0 1 11 1 0ans =0 2.2500 2.00001.0000 0.6000 NaN2 2、 zeros(4)ones(3)3 3、 2 5 5 4 4、 ;%5 5、 if x606 6、 polyint(P,K)k,r= deconv (P,Q)7 7、 hold ongrid on8 8、 save my_dataLoad my_data二、选择题二、选择题1 1、 A2 2、 C3 3、 B4 4、 C5 5、 C6 6、 C7 7、 D8 8、 A9 9、 C1010、 A三、写出程序的执行结果或写出给定要求的指令三、写出程序的执行结果或写出给定要求的指令1 1、 c =0 + 2.0000iD =2 35 68 9E =4 52 2、1 5 3 9 5 13 7 173 3、>> syms a b c x>> s = a*x2 + b*x + c;>> solve(s)ans = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2)4 4、>> syms a b c x>> syms x1 x2 x3 x4>> clear>> syms x1 x2 x3 x4>> f = 2*x1 + 3*x2 + x3 + 2*x4 -8;>> g = x1 + 3*x2 + x4 - 6;>> h = x1 - x2 + x3 + 8*x4 - 1;>> i = 7*x1 + x2 - 2*x3 + 2*x4 -5;>> x1,x2,x3,x4 = solve(f,g,h,i)x1 =13/17x2 =320/187x3 =212/187x4 =19/1875 5、t = linspace(0, 2*pi, 50);plot(t,y1,'r-o' ,t,y2,'b-*');四、使用四、使用 MATLABMATLAB 语言进行编程语言进行编程for k = 100:999a = fix(k/100);b = rem(fix(k/10),10);c = rem(k,10);if a.3 + b.3 + c.3 = kfprintf( “%u,tt”, k ) ;endend