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